dFr*_*sco 1 android deep-linking android-deep-link
我有一个相当简单的问题,但我似乎找不到解决方案。我有一个包含多个活动的 Android 应用程序。我想形成特定活动的特定深层链接,并将所有其他深层链接定向到“包罗万象”类型的活动。
这是我的清单:
<activity
android:name=".views.activity1">
<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:scheme="domain"
android:host="specificPlace" />
</intent-filter>
</activity>
<activity
android:name=".views.activity2">
<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:scheme="domain"
android:host="*" />
</intent-filter>
</activity>
Run Code Online (Sandbox Code Playgroud)
所以我想要的是以下内容:
domain://specificPlace-> 到 Activity1 的深层链接。
domain://-> 深层链接到activity2
domain://random-> 深层链接到activity2
domain://somewhereElse-> 深层链接到activity2
现在,domain:// 任何内容都解析为 Activity2。
感谢任何帮助,提前致谢!
该<intent-filter>元素支持整数priority属性。默认情况下,其值为0,因此您可以在“catch-all”过滤器上设置负优先级,以确保它在所有其他过滤器之后运行:
<intent-filter android:priority="-1">
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT"/>
<category android:name="android.intent.category.BROWSABLE"/>
<data
android:scheme="domain"
android:host="*" />
</intent-filter>
Run Code Online (Sandbox Code Playgroud)
我自己没有尝试过,但看起来应该有效。我不确定的部分是该属性是否priority处理负值。如果没有,您可以对所有非“包罗万象”的过滤器设置积极的优先级:
<intent-filter android:priority="1">
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT"/>
<category android:name="android.intent.category.BROWSABLE"/>
<data
android:scheme="domain"
android:host="specificPlace" />
</intent-filter>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1275 次 |
| 最近记录: |