我想创建一个带有intent-filter
的活动来共享图片。
但是,当共享意图来自我自己的应用程序时,我希望该活动才可用,即:
我已尝试设置exported=false
,但仍可从外部访问
<activity
android:name=".ShareTestActivity"
android:label="ShareTest"
android:exported="false">
<intent-filter>
<action android:name="android.intent.action.SEND" />
<category android:name="android.intent.category.DEFAULT" />
<data android:mimeType="image/*" />
</intent-filter>
</activity>
我该如何解决?谢谢
答案 0 :(得分:2)
实现目标的唯一方法是有效地创建自己的选择器。并按照您想要的方式构建它。您还需要做的是将操作更改为com.myapp.action.SEND(或其他一些独特的操作),以便您可以显式处理该意图。
当您获得该意图时,请按照您希望的方式构建选择器。这是查询原始android.intent.action.SEND +其他数据,然后构建数据以附加到您的选择器。需要时使用Intent.createChooser()。