私はフォローしています アプリコンテンツへのディープリンクの作成 in Android開発者向けドキュメントで、Androidアプリ。
新しいアプリプロジェクト、そのチュートリアルとまったく同じようにアクティビティを指定しました。
<activity
Android:name="com.example.Android.GizmosActivity"
Android:label="@string/title_gizmos" >
<intent-filter Android:label="@string/filter_view_http_gizmos">
<action Android:name="Android.intent.action.VIEW" />
<category Android:name="Android.intent.category.DEFAULT" />
<category Android:name="Android.intent.category.BROWSABLE" />
<!-- Accepts URIs that begin with "http://www.example.com/gizmos” -->
<data Android:scheme="http"
Android:Host="www.example.com"
Android:pathPrefix="/gizmos" />
<!-- note that the leading "/" is required for pathPrefix-->
</intent-filter>
<intent-filter Android:label="@string/filter_view_example_gizmos">
<action Android:name="Android.intent.action.VIEW" />
<category Android:name="Android.intent.category.DEFAULT" />
<category Android:name="Android.intent.category.BROWSABLE" />
<!-- Accepts URIs that begin with "example://gizmos” -->
<data Android:scheme="example"
Android:Host="gizmos" />
</intent-filter>
</activity>
adb Shell am start -W -a Android.intent.action.VIEW -d "example://gizmos" com.example.Android
でテストすると、機能します。電話のOSがアプリを起動します。
しかし、chrome to example://gizmos
に移動してテストすると、アプリは起動せず、chromeはそのURIをGoogleで検索するだけです。なぜですか?動作しますか?
(私はAndroid Emulator for Nexus 5X API 26を使用しています)。
これは、アドレスバーに手動で入力した場合にChromeディープリンクをたどらないためです。詳細については、これ answer を参照してください。
ディープリンクをテストする最も簡単な方法は、Androidメッセージアプリにリンクを入力することです。メッセージを送信したら、リンクをクリックできます。
ディープリンクを使用してどこかにページをホストすることもできます。