5

私は Facebook シェアラーの php ページを読み込んでいる WebView を持っています。このページには確認の形式はありません。ユーザーが共有またはキャンセルすると、ウィンドウが閉じます。

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 に答える