6

ユーザーがWebビュー内のリンクをクリックした後も、ユーザーをアプリ内にとどめるためにこのコマンドがありました。しかし、私はそれを失い、それが何であるかを見つけることができないようです.

そのコマンドが何であるかを誰かに思い出させてもらえますか? ありがとうございました!

これは私のコードです:

@Override
public void onCreate(Bundle savedInstanceState) 
{
    super.onCreate(savedInstanceState);

    WebView webview = new WebView(this);
    webview.getSettings().setAppCacheEnabled(false);
    webview.getSettings().setJavaScriptEnabled(true);
    webview.setInitialScale(1);
    webview.getSettings().setPluginState(PluginState.ON);

    webview.setWebViewClient(new WebViewClient() {
        @Override
        public boolean shouldOverrideUrlLoading(WebView view, String url) {
            view.loadUrl(url);
            return true;
        }
    });

    WebSettings webSettings = webview.getSettings();
    webSettings.setJavaScriptEnabled(true);
    webSettings.setBuiltInZoomControls(true);
    webSettings.setAllowContentAccess(true);
    webSettings.setEnableSmoothTransition(true);
    webSettings.setLoadsImagesAutomatically(true);
    webSettings.setLoadWithOverviewMode(true);
    webSettings.setSupportZoom(true);
    webSettings.setUseWideViewPort(true);

    setContentView(webview);
    webview.loadUrl("http://www.stitcher.com/podcast/entrepreneuronfirecom/entrepreneur-on-fire-tim-ferriss-other-incredible-entrepreneurs");          
4

2 に答える 2

15

webView 内のすべてのクリックをキャプチャするには、カスタム WebViewClient をshouldOverrideUrlLoading設定する必要があります。true

mWebView.setWebViewClient(new WebViewClient() {
    @Override
    public boolean shouldOverrideUrlLoading(WebView view, String url) {
        view.loadUrl(url);
        return true;
    }
});

これを行わないと、ブラウザで開きます。

http://developer.android.com/reference/android/webkit/WebViewClient.html#shouldOverrideUrlLoading(android.webkit.WebView, java.lang.String)

新しい URL が現在の WebView にロードされようとしているときに、ホスト アプリケーションに制御を引き継ぐ機会を与えます。WebViewClient が提供されていない場合、デフォルトで WebView は Activity Manager に URL の適切なハンドラーを選択するように要求します。

于 2013-07-13T11:28:46.583 に答える