我已经完成了我的安卓应用与我的网站的深度链接,处理所有的网址。有一件事我注意到,在Play Store上启动应用后,我的网站网址的ACTION_VIEW
意图不要求用户选择其他应用,如chrome或任何其他浏览器。其他一切都运行完美。
我正在使用ACTION_VIEW
创建Intent,以便在任何其他浏览器中打开我的网站URL(如果用户希望在浏览器应用中打开它)。但我的问题是Intent选择器不要求使用浏览器应用,而是再次直接在我自己的应用中打开。我的应用没有默认设置,我验证了它管理应用。
Intent创建代码为
val i = Intent(Intent.ACTION_VIEW)
i.data = Uri.parse(internetUrl)
val chooserIntent = Intent.createChooser(i, getString(R.string.select_browser))
startActivity(chooserIntent)
我需要我的应用程序要求用户选择浏览器或我的应用程序,而不是直接在应用程序中打开它。
活动意图过滤器为
<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:host="@string/intent_filter_host_full_site"
android:scheme="https" />
</intent-filter>
1条答案
按热度按时间czq61nw11#
我认为你已经实现了一个应用程序链接,而不是一个深度链接。
来自文件:
深层链接是一种Intent过滤器,允许用户直接在Android应用中输入特定Activity。点击其中一个链接可能会打开一个消歧对话框,允许用户从多个应用(包括您的应用)中选择一个可以处理给定URL的应用。例如,图1显示了用户点击Map链接后的消歧对话框,询问是否在Map或Chrome中打开该链接。
Android应用链接是一种特殊类型的深度链接,允许您的网站URL立即打开Android应用中的相应内容(无需用户选择应用)。
我猜你做了些不必要的工作
autoVerify="true"
到您的意图过滤器;https://domain.name/.well-known/assetlinks.json
到您的网站;要解决您的问题,您应该反向执行上面列出的步骤。