0

私のアプリケーションには、画像を表示する webview があります。画像のクリックを傍受し、ブラウザで画像のhref属性が指す URL を開きたいと思います。WebViewClient のshouldInterceptRequestメソッドを使用していますが、そのメソッドからの応答として何を返すべきかわかりません。私がやりたいことは次のようになります。

public WebResourceResponse shouldInterceptRequest(WebView view, String url) {
            final Intent browserIntent = new Intent (Intent.ACTION_VIEW, Uri.parse(url));
            startActivityForResult(browserIntent);
            return null;     
}

これを実装する正しい方法は何ですか? WebResourceResponse オブジェクトには何を含める必要がありますか?

4

1 に答える 1

0

href クリックを傍受したい場合は、この shouldOverrideUrlLoading を使用する必要があります: http://developer.android.com/reference/android/webkit/WebViewClient.html#shouldOverrideUrlLoading(android.webkit.WebView , java.lang.String)

shouldInterceptRequest は、css ファイルや js ファイルなどのリソースがロードされるたびに呼び出されます。新しいページが開かれるときに shouldOverrideUrlLoading が呼び出されます。

やりたいことは次のとおりです。

@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
    Intent i = new Intent(Intent.ACTION_VIEW);
    i.setData(Uri.parse(url));
    startActivityForResult(i);
    return true;
}
于 2013-09-20T10:25:02.767 に答える