android – 如何检测WebView页面何时尝试关闭?
作者:互联网
我有一个WebView,我正在加载facebook sharer php页面.此页面没有任何形式的确认,只需在用户共享或取消后关闭窗口即可.
由于它被加载到Web视图中,没有什么可以“关闭”perse,所以,我需要检测窗口试图关闭并对该回调进行操作.
从我的各种搜索看来,处理这个的方法是通过WebChromeClient.所以,我正在尝试以下内容,但回调从未被调用过.我显然缺少一些东西,但不知道是什么.它*感觉就像onCloseWindow事件应该是Overriden,但这会导致eclipse(合理地)抱怨我需要超级实例,文档似乎没有建议这样做.
所有帮助赞赏.
[编辑]哦,我只是尝试交换动作的顺序,在调用url之前设置WebChromeClient,并且(如我所料)没有以任何方式改变行为.
webview.getSettings().setJavaScriptEnabled(true);
webview.getSettings().setJavaScriptCanOpenWindowsAutomatically(true);
webview.setWebViewClient(new WebViewClient());
webview.loadUrl("http://www.facebook.com/sharer/sharer.php?u=http://EXTRACTED.com?img_id=abc");// + getIntent().getStringExtra("userId"));
WebChromeClient wbc = new WebChromeClient(){
public void onCloseWindow(Window w){
Log.d(TAG, "Window trying to close");
}
};
webview.setWebChromeClient(wbc);
解决方法:
什么错了:
public void onCloseWindow(WebView w){
super.onCloseWindow(w);
Log.d(TAG, "Window trying to close");
}
标签:android,webview,webchromeclient 来源: https://codeday.me/bug/20190530/1186168.html