アプリをディープリンクしようとしています。AndroidManifest.xmlに以下を実装して、適切なアクティビティを開きます。
<activity
Android:name=".ui.activities.MyActivity"
Android:label="@string/title_activity"
Android:screenOrientation="portrait">
<!-- ATTENTION: This intent was auto-generated. Follow instructions at
https://g.co/AppIndexing/AndroidStudio to publish your Android app deep links. -->
<intent-filter>
<action Android:name="Android.intent.action.VIEW" />
<category Android:name="Android.intent.category.DEFAULT" />
<category Android:name="Android.intent.category.BROWSABLE" />
<!-- ATTENTION: This data URL was auto-generated. We recommend that you use the HTTP scheme.
TODO: Change the Host or pathPrefix as necessary. -->
<data
Android:Host="myHost"
Android:scheme="myCustomScheme" />
</intent-filter>
</activity>
そして、私はadbからアクティビティを使用してテストしています
adb Shell am start -W -a Android.intent.action.VIEW -d "myCustomScheme://myHost?key=category_parent_id&value=92&title=test" com.myApp.Android
アクティビティは開いていますが、インテントでアクティビティに渡されるURIは
myCustomScheme://myHost?key=category_parent_id
「&」の後のすべてをスキップします
ここでSOを調べましたが、複数のクエリパラメータを持つものは見つかりませんでした。
Adbでテストする場合は、\
記号の前に&
を追加するだけです。
これをコピー:
adb Shell am start -W -a Android.intent.action.VIEW -d "myCustomScheme://myHost?key=category_parent_id\&value=92\&title=test" com.myApp.Android
シェルコマンドを単純な引用符で囲むことができます(uriコンテンツの変更を避けるため)。
adb Shell 'am start -d "myCustomScheme://myHost?key=category_parent_id&value=92&title=test"'
Osx/macユーザーの場合Android studio
Adbをロード
export PATH="/Users/your_user/Library/Android/sdk/platform-tools":$PATH
アプリが認識されていることを確認してください
adb Shell am start -n com.package/.activities_package_name.MainActivity
ディープリンクをテストする
adb Shell 'am start -W -a Android.intent.action.VIEW -d "myCustomScheme://myHost?key=category_parent_id\&value=92\&title=test" com.myApp.Android'
「」を忘れないでください