在android上使用Chrome打开android应用程序方案



我想知道如何配置我的应用程序才能用android-app://application.id打开它?

adb shell am start android-app://application.id

URI_ANDROID_APP_SCHEME似乎无法按文档所述工作。相反,Chrome和Firefox只打开我的应用程序的market://链接。

对于Chrome,我发现了一份仅描述intent://方案的文档。

当intent过滤器包含DEFAULTBROWSABLE类别时,它适用于Firefox

<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.LAUNCHER" />
<category android:name="android.intent.category.BROWSABLE" />
</intent-filter>

您必须在组件的intent-filter中添加描述URI的<data../>,就像一样

<intent-filter>
...
<data android:scheme="android-app"/>
</intent-filter>

在你的网站上定义意图,就像这个

intent:#Intent;scheme=android-app;package=your_package;end

更新虽然我的解决方案适用于您定义的任何方案,但我没有意识到该方案是一个保留方案。我查找了Intent类的来源,似乎你必须像这个一样定义你的URI

android-app://your_package

android-app://your_package/ 
#Intent;action=com.example.MY_ACTION;end

Androids Intent类中parseUri方法的第一行

final boolean androidApp = uri.startsWith("android-app:");

值得一提的是:此方案是在API 22中添加的。

我已经测试过它能与a标签一起使用,正如@tynn在评论中提到的,window.open()location.href以及不能从Chrome中的地址栏工作。

相关内容

  • 没有找到相关文章

最新更新