从ShareActionProvider列表中删除YourSelf

时间:2013-03-21 15:54:51

标签: android android-actionbar actionbarsherlock shareactionprovider

我在应用中使用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>

1 个答案:

答案 0 :(得分:0)

如果我理解你想要做什么,基本上,你想要动态启用/禁用你的意图过滤器。

直到我知道你无法直接达到你想要的效果,但你可以通过PackageManager and setComponentEnabledSetting()获得相同的效果来禁用你的活动。明显, 如果你的应用程序中有可能禁用“接收者”活动。