我正在使用以下代码从我的应用程序中共享信息。
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 选项。
最佳答案
我认为你应该看看 PackageManager
queryIntentActivities (Intent intent, int flags)
方法。这将为您提供与您的 Intent
匹配的 Activities
列表,然后您可以删除其中的一些,并向用户显示自定义 Dialog
,您只显示所需的 Activities
。在用户选择一个 Activity
之后,您必须明确启动该 Activity
。
关于android - 过滤 ACTION_SEND 共享选项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9328230/