我在应用中使用ActionBarSherlock以及ShareActionProvider。我正在使用共享意图以与ActionBarSherlock example非常相似的方式共享图像:
Intent shareIntent = new Intent();
shareIntent.setAction(Intent.ACTION_SEND);
shareIntent.putExtra(Intent.EXTRA_STREAM, uri);
shareIntent.setType("image/*");
一切正常,唯一的问题是我的应用程序也接受共享图像内容(“图像/ *”),因此它显示在应用程序列表中。反正有吗?
修改
以下是我的意图过滤器:
<intent-filter>
<action android:name="android.intent.action.SEND"/>
<category android:name="android.intent.category.DEFAULT"/>
<data android:mimeType="image/*"/>
</intent-filter>
答案 0 :(得分:0)
如果我理解你想要做什么,基本上,你想要动态启用/禁用你的意图过滤器。
直到我知道你无法直接达到你想要的效果,但你可以通过PackageManager and setComponentEnabledSetting()获得相同的效果来禁用你的活动。明显, 如果你的应用程序中有可能禁用“接收者”活动。