android - 过滤 ACTION_SEND 共享选项

标签 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 选项。

最佳答案

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

关于android - 过滤 ACTION_SEND 共享选项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9328230/

相关文章:

Java Android Intent Service 只工作一次

android - 将上面的 View 向上推,同时将另一个 View 向上滑动动画

android - NearbyBackgroundBeacons 演示在订阅时返回未知状态代码 2801

android - 由服务扩展的类 Activity 问题

android - 如何使用指定的 POST 参数打开 Android 浏览器?

java - PendingIntent 到底什么时候被处理/删除?

android - 如何关闭 Android 中的弹出窗口?

android - 抽屉导航不适用于导航组件

java - Dagger 2 一个 Controller ,依赖于两个作用域组件

android - 共享首选项不能在 android 中与 intent 一起使用