0

WebビューとそのWebビューにロードしたURLのリンクがあります。ユーザーがこのリンクをクリックすると、アプリがバックグラウンドに移動し、そのデバイスのデフォルトのWebブラウザーでそのリンクを開くようにします。これを行うために、私は次のことを行いました。

web = (WebView) findViewById(R.id.webview01);
        progressBar = (ProgressBar) findViewById(R.id.progressBar1);


        web.getSettings().setUseWideViewPort(true);

        web.setScrollBarStyle(WebView.SCROLLBARS_OUTSIDE_OVERLAY);
        web.getSettings().setPluginState(PluginState.ON);
        web.getSettings().setJavaScriptEnabled(true);
        web.getSettings().setDomStorageEnabled(true);

        web.setWebViewClient(new WebViewClient() {
            public boolean shouldOverrideUrlLoading(WebView view, String url) {
                if (url != null
                        && url.startsWith("http://the6figuremarketer.com/apps/androidfb21/thks.html")) {
                    view.getContext().startActivity(
                            new Intent(Intent.ACTION_VIEW, Uri.parse(url)));
                    return true;
                } else {
                    return false;
                }
            }
        });

        web.loadUrl("http://the6figuremarketer.com/apps/androidfb21/index.html");

しかし、私はそのshouldoverrideurlメソッドがnevetgetと呼ばれることを理解しました。私は今どうすればいい?誰か助けてもらえますか?

4

1 に答える 1

0

Android が実行されていない WebView の shouldOverrideUrlLoading を見てください。

webview で loadurl を呼び出すと、 shouldOverrideUrlLoading() は呼び出されません。WebView でリンクをクリックしたときにのみ呼び出されます。

于 2013-06-04T02:07:02.077 に答える