我试图通过浏览器链接启动我的安卓应用程序。
当我通过chrome浏览器打开该链接时,它成功地显示了应用程序对话框选择器,其中显示了该方案可用的应用程序,如下所示。
但当通过Chrome自定义选项卡打开链接时,它只是重定向到该网站,而不显示应用程序对话框选取器。.
我需要它启动应用程序或显示对话框选择器时,从另一个应用程序(如Gmail)打开的链接,打开应用程序中的浏览器,而不仅仅是在chrome浏览器。
这里是当前的意图-过滤器,我有。
<intent-filter>
<data
android:scheme="http"
android:host="www.myapp.com" />
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
</intent-filter>
如果有人能指出将是一个很大的帮助。谢谢你的帮助
所以如果有人遇到同样的问题,我是这样做的。要想用Chrome自定义标签浏览器启动你的应用,你需要把你的方案做成非网页链接格式,并把它做成自定义方案(如下图示例)。因为显然,Chrome自定义标签页将网页链接方案视为普通链接因此在浏览器中启动它。
所以从
<intent-filter>
<data
android:scheme="http"
android:host="www.myapp.com" />
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT"/>
<category android:name="android.intent.category.BROWSABLE" />
</intent-filter>
将方案改为自定义方案,这样一来,你的应用程序的方案将是唯一被浏览器处理的方案。这是一个链接的例子,其方案如下~myapp:/myapp.app(注意这个链接在android应用中是不能点击的,但你可以把它放在你网站的html锚标签的href中)。
<intent-filter>
<data
android:scheme="myapp"
android:host="myapp.app" />
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
</intent-filter>