ACTION_SEND仅适用于Facebook,Gmail和Twitter。 Android
问题描述:
我正在使用ACTION_SEND意图通过Facebook,Twitter和Gmail共享Android市场应用程序的URL链接。但是当我按分享按钮时,其他选项也会出现像短信,电子邮件等。我只想要Facebook,Twitter和gamil出现。有什么方法可以过滤吗?ACTION_SEND仅适用于Facebook,Gmail和Twitter。 Android
谢谢。
答
您可以获取设备上已安装应用程序的列表,并检查您正在查找的应用程序是否已安装。然后给用户一个选项来选择他想要共享的应用程序通过
List<ApplicationInfo> packages = getPackageManager().getInstalledApplications(PackageManager.GET_META_DATA);
for (ApplicationInfo appInfo : packages) {
if ("com.facebook.katana".equals(appInfo.packageName)) {
// Facebook app is installed, add to options list
}
// Do something similar for Twitter and Gmail
}
// Show user the options list
答
你可以通过
Intent sharingIntent = new Intent(android.content.Intent.ACTION_SEND);
sharingIntent.setType("text/plain");
List activities = getPackageManager().queryIntentActivities(sharingIntent, 0);
支持ACTION_SEND安装的应用程序的列表,现在ü可以建立一个自定义对话框只需要通过检查这些应用程序是否在列表中的应用程序。
请在对话框
如何添加到选项列表?我的意思是当我们调用ACTION_SEND时,会出现一个包含客户端应用列表的对话框,所以如何在对话框中控制这些选项? –
创建您自己的警报对话框,其中将包含可用的选项 – Ares