1

Android 2.3.5 を実行している HTC Evo では、overridenshouldOverrideUrlLoading()が呼び出されることはありません。Android 2.3.6 を実行している Samsung Galaxy では、まったく同じコードが適切に機能します。

onPageStarted()これまでのところ、 andをオーバーライドしようとしonPageFinished()ました。これらのメソッドに URL が表示されません。

私の意図は、ページに存在するカスタム アクティビティmailto:tel:リンクを提供することです。ヒットしない場合、これをどのように機能させることができるかについてのアイデアshouldOverrideUrlLoading()はありますか?

私はすでにstackoverflowなどで同様の質問を見てきましたが、関連するものは見つかりませんでした.

4

1 に答える 1

4

shouldOverrideUrlLoading()2.1 や 2.3.6 などの一部の Android バージョンでのみ動作しませんが、2.3.3、2.3.5、4.0.2 または 4.0.3 では正常に動作します。

WebView でリンクのクリックを処理する必要がある場合は、shouldOverrideUrlLoading()メソッドを使用する必要があります。Web ページの読み込みのみを処理する必要がある場合は、onPageStarted().

これは Android 開発者のリンクです: https://developer.android.com/guide/webapps/migrating.html

  • 注: 例: Web ページに 2 つのリンクがあります。

    1. <a href="http://www.w3schools.com/">Visit W3Schools!</a>
    2. <a href="http://www.w3schools.com/" target="_blank">Visit W3Schools!</a>

shouldOverrideUrlLoading()ユーザーがリンク " " をクリックしたときにのみ呼び出されます12ユーザーがリンク " "をクリックしても呼び出されません

public void onPageStarted(WebView view, String url, Bitmap favicon) {

    if (url.contains("success")) {
        Intent intent = new Intent(WebviewActivity.this, OrderConfirmActivity.class);
        intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
        startActivity(intent);
    } else {
        super.onPageStarted(view, url, favicon);
    }
}
于 2013-07-05T06:04:17.017 に答える