android 网站网址的深度链接不会在Intent Chooser中要求其他应用

rpppsulh  于 2023-02-10  发布在  Android
关注(0)|答案(1)|浏览(153)

我已经完成了我的安卓应用与我的网站的深度链接,处理所有的网址。有一件事我注意到,在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>
czq61nw1

czq61nw11#

我认为你已经实现了一个应用程序链接,而不是一个深度链接。
来自文件:
深层链接是一种Intent过滤器,允许用户直接在Android应用中输入特定Activity。点击其中一个链接可能会打开一个消歧对话框,允许用户从多个应用(包括您的应用)中选择一个可以处理给定URL的应用。例如,图1显示了用户点击Map链接后的消歧对话框,询问是否在Map或Chrome中打开该链接。
Android应用链接是一种特殊类型的深度链接,允许您的网站URL立即打开Android应用中的相应内容(无需用户选择应用)。
我猜你做了些不必要的工作

  • 添加了autoVerify="true"到您的意图过滤器;
  • 上传https://domain.name/.well-known/assetlinks.json到您的网站;

要解决您的问题,您应该反向执行上面列出的步骤。

    • 重要提示:**按上述相反步骤操作后,您应该卸载应用程序并重新安装!

相关问题