我想在我的应用上注册一个intent-filter,以便我可以与其他应用程序共享联系人。
我可以通过将此添加到我的清单中来实现此目的:
<intent-filter>
<action android:name="android.intent.action.SEND" />
<category android:name="android.intent.category.DEFAULT" />
<data android:mimeType="text/*" />
</intent-filter>
问题是我的应用程序出现在共享文本数据的其他应用程序的所有“共享”或“发送到”弹出窗口中。我如何限制此限制,以便我的应用仅显示在联系人共享弹出窗口中?
我已经尝试在android:host="com.android.contacts"
内使用<data>
,但没有帮助。
谢谢!
答案 0 :(得分:3)
设置android:host
时,您还需要设置android:scheme
,否则会被忽略。尝试将其设置为android:scheme="content"
。所有这一切都会阻止您接受没有包含权限“com.android.contacts”的数据URI的意图。
话虽如此,您指定的mime类型将接受任何基于文本的内容。这是你的意图吗?也许您应该使用Google指定的contact item mime-type。