5

我有一个 WebView,我正在向其中加载 facebook 共享器 php 页面。此页面没有任何形式的确认,它只是在用户共享或取消后关闭窗口。

由于它被加载到 web 视图中,因此没有什么可以“关闭”的,所以,我需要检测试图关闭的窗口并对该回调采取行动。

从我的各种搜索来看,处理这个问题的方法似乎是通过 WebChromeClient。因此,我正在尝试以下操作,但从未调用过回调。我显然错过了一些东西,但不知道是什么。*感觉应该重写 onCloseWindow 事件,但这会导致 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);
4

1 回答 1

7

有什么问题:

   public void onCloseWindow(WebView w){
        super.onCloseWindow(w);
        Log.d(TAG, "Window trying to close");
    }
于 2011-08-23T17:32:43.633 回答