处理android webview中的外部链接

时间:2016-10-25 08:33:09

标签: android webview external-links

我想打开我的应用并在点击特定链接时加载网址。

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

<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);

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

Normal Webview enter image description here

当我从谷歌浏览器(在我的手机中)打开网址(https://www.android.com)时,如果有人可以给我任何提示或指导我如何打开我的应用程序将是一个很好的帮助

3 个答案:

答案 0 :(得分:1)

问题的第二部分:

  

如果有人可以给我任何提示或指导我如何打开我的应用程序   当我从谷歌浏览器打开网址(https://www.android.com)时(在我的网站上)   电话)将是一个很大的帮助

看看this回答:

&#34;从本质上讲,Chrome团队认为如果用户实际在地址栏中输入内容,则不会发生重定向。正如您所发现的,这与所有其他浏览器中的行为相反。&#34;

答案 1 :(得分:0)

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

您必须覆盖方法并处理点击。

答案 2 :(得分:0)

在Activity的Manifest文件中使用此行,该文件正在处理该意图以避免此类问题。

android:launchMode="singleTask"