其他分享
首页 > 其他分享> > android – 如何检测WebView页面何时尝试关闭?

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