在 android webview 中处理外部链接

Handling external links in android webview

我想打开我的应用程序并在单击特定链接时加载 URL。

这是我处理外部链接的清单。

<intent-filter android:autoVerify="true">
    <action android:name="android.intent.action.VIEW" />
    <category android:name="android.intent.category.DEFAULT" />
    <category android:name="android.intent.category.BROWSABLE" />
    <data android:scheme="http" android:host="www.android.com" />
    <data android:scheme="https" android:host="www.android.com" />
</intent-filter>

这是处理传入链接的代码

    intentData = getIntent().getData();
    if(intentData !=null){
        loadUrl = intentData.toString();
    }else {
        loadUrl = "https://www.android.com";
    }
    webView.loadUrl(loadUrl);

现在,当我从 whatsapp 等外部应用程序单击 https://www.android.com 时,它已加载到 webview 中,但 webview 已附加到 whatsapp。查看下面的屏幕截图。


当我从 Google Chrome( 打开 URL(https://www.android.com) 时,如果有人能给我任何提示或指导我如何打开我的应用程序在我的 phone) 中会有很大的帮助

您可以在此处找到详细实施,https://developer.android.com/guide/webapps/webview.html

您必须重写方法并处理点击。

对于问题的第二部分:

And if anyone can give me any hints or guide me on how to open my app when I open the URL(https://www.android.com) from Google Chrome(in my phone) will be a great help

看看答案:

"Essentially, the Chrome team feels that if a user actually types something into the address bar, no redirect should ever happen. As you've discovered, this is counter to behavior in all other browsers."

在您的 Activity 清单文件中使用这一行来处理该意图以避免此类问题。

android:launchMode="singleTask"