如何将已安装应用中的组件暴露给即时应用可见?

13

来自即时应用程序的开发者文档

已安装的应用程序可以通过显式意图与即时应用程序进行交互。

稍后提到,即时应用程序无法

发现设备上安装的应用程序列表,除非已安装的应用程序已将其自身对即时应用程序可见

但是我找不到有关如何公开已安装应用程序的组件或任何部分以供即时应用程序查看(和访问)的详细信息。是否有任何限制?(支持的组件类型等)


让我试着理解一下。您希望您的即时应用程序能够打开另一个应用程序,例如:在您的即时应用程序中执行某个操作会导致打开 YouTube? - TWL
我希望我的即时应用程序绑定到另一个本地安装的应用程序所公开的服务。 - Oasis Feng
这不是和 https://dev59.com/4uo6XIcBkEYKwwoYOR0q 相似吗? - TWL
不,它们并不相似...即时应用程序是一种新事物。请阅读有关它们的信息:https://developer.android.com/topic/instant-apps/index.html - Reuben Tanner
1个回答

14

最后,我搞清楚了语法:

对于Android O+,您可以在组件中指定android:visibleToInstantApps="true"

对于较低版本的Android,请将此元数据添加到您的<application>中(不适用于组件):

<meta-data android:name="instantapps.clients.allowed" android:value="true" />

更多信息可在3.15.即时应用中找到。


请查看以下链接中的示例:https://android.googlesource.com/platform/packages/apps/Camera2/+/master/AndroidManifest.xml 和 https://android.googlesource.com/platform/packages/providers/ContactsProvider/+/master/AndroidManifest.xml。 - Prags
救了我的命。谢谢。你在哪里找到instaapps.clients.allowed元数据的文档?谷歌搜索似乎只能找到示例,而不是来自Android官方的文档... - CoderSpinoza

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接