过滤ACTION_SEND共享选项

时间:2012-02-17 12:30:36

标签: android android-intent

我使用以下代码与我的应用程序共享信息。

Intent sendIntent = new Intent();
sendIntent.setAction(Intent.ACTION_SEND);
sendIntent.putExtra(Intent.EXTRA_TEXT, "share Content" );
sendIntent.putExtra(Intent.EXTRA_SUBJECT, "share subject" );
sendIntent.setType("text/plain");
startActivity(Intent.createChooser(sendIntent, "Share Place via"));

上面的代码显示了我可以分享的一些选项,我想要实现的是以某种方式浏览选项并省略其中一些选项。

例如,在我的情况下,如果设备上存在Facebook应用程序,则上面的代码将其显示为其中一个选项。因为我已经在我的应用程序中集成了Facebook android sdk。我想从共享选项中删除Facebook选项。

1 个答案:

答案 0 :(得分:2)

我认为您应该查看PackageManager queryIntentActivities (Intent intent, int flags)方法。这会为您提供与Activities匹配的Intent列表,然后您可以删除其中一些,并向用户显示自定义Dialog,您只需显示所需的Activities Activity 1}}。在用户选择Activity之后,您必须明确地启动{{1}}。