我在我的应用程序中使用Action Send和createChooser API通过各种电子邮件应用程序共享一些文本消息。但我不想要我在我的设备中安装的所有应用程序。我希望特别是facebook,Gmail和Twitter在那个选择器List.How像这样过滤?谢谢
String TEXT = "I shared the file " + " via MyApp";
Intent sendIntent = new Intent(Intent.ACTION_SEND);
sendIntent.setType("text/plain");
sendIntent.putExtra(Intent.EXTRA_TEXT, TEXT);
startActivity(Intent.createChooser(sendIntent, "Share the program:"));
这是我正在使用的代码。
答案 0 :(得分:3)
如果你知道,你想要哪些应用,你可以在对话框中创建自己的选择器,并根据用户的选择激发特定的意图。
您可以通过调用PackageManager的queryIntentActivities:
来检查可用的应用程序Intent sendIntent = new Intent(Intent.ACTION_SEND);
sendIntent.setType("text/plain");
List pkgAppsList = context.getPackageManager().queryIntentActivities( sendIntent, 0);
然后你选择你需要的那些并弹出对话框。