Android深层链接无法在webview上运行

时间:2016-11-03 09:02:50

标签: android html webview deep-linking

我遇到了深度链接和Android过滤器的问题。这是清单的意图部分。

<intent-filter>
    <action android:name="android.intent.action.VIEW"/>
    <category android:name="android.intent.category.DEFAULT"/>
    <category android:name="android.intent.category.BROWSABLE"/>
    <data
        android:host="deeplink"
        android:scheme="myapp"/>
</intent-filter>

当我尝试使用常规链接打开应用时,它适用于Android Chrome,但不适用于webview(始终相同的“err_unknown_url_scheme”)

<a href="myapp://deeplink/?action=showStore=001">Open in app</a>

我在意图上阅读Android documentation,并尝试了类似的内容,但我不确定它是否正确

<a href="intent://deeplink/#Intent;scheme=myapp;package=com.example.myapp;action=showStore=001;end">Open in app</a>

我只能访问HTML代码,而不是Android应用代码。我的目标是点击该链接并打开myapp。有关此主题的所有stackoverflow问题都与Android开发相关,或者其他有关互联网的帖子都有点过时了。

非常感谢!

1 个答案:

答案 0 :(得分:-2)

please try below example which will open your application from webview.


    public class HTMLActvity extends AppCompatActivity {

        private WebView mWebView;

        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_htmlactvity);
            mWebView = (WebView) findViewById(R.id.webView1);

            //webView.loadUrl("http://www.google.com");
            mWebView.getSettings().setJavaScriptEnabled(true);
            String customHtml = "<a href=\"https://www.example.com\">Open in app</a>";
            mWebView.loadData(customHtml, "text/html", "UTF-8");
        }
    }

    deep link activity register for www.example.com

  <activity android:name=".DeepLinkActivity">
            <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.example.com" />
                <data android:scheme="https" android:host="www.example.com" />
            </intent-filter>

        </activity>

请告诉我这些是否适合您。