Android 行动\u仅发送Facebook、Gmail和Twitter。安卓

Android 行动\u仅发送Facebook、Gmail和Twitter。安卓,android,android-intent,Android,Android Intent,我正在使用ACTION_SEND Intent通过facebook、twitter和gmail共享android market应用程序url链接。但当我按下“共享”按钮时,其他选项也会出现,如短信、电子邮件等。我只想看到Facebook、twitter和gamil。有没有办法过滤掉这些 谢谢。您可以获取设备上已安装应用程序的列表,并检查您要查找的应用程序是否已安装。然后给用户一个选项,选择他想要共享的应用 List<ApplicationInfo> packages = getPac

我正在使用ACTION_SEND Intent通过facebook、twitter和gmail共享android market应用程序url链接。但当我按下“共享”按钮时,其他选项也会出现,如短信、电子邮件等。我只想看到Facebook、twitter和gamil。有没有办法过滤掉这些


谢谢。

您可以获取设备上已安装应用程序的列表,并检查您要查找的应用程序是否已安装。然后给用户一个选项,选择他想要共享的应用

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
List packages=getPackageManager().getInstalledApplication(PackageManager.GET_META_DATA);
对于(ApplicationInfo appInfo:packages){
if(“com.facebook.katana.equals(appInfo.packageName)){
//已安装Facebook应用程序,添加到选项列表
}
//为Twitter和Gmail做类似的事情
}
//向用户显示选项列表

您可以获得支持“发送操作”的已安装应用程序的列表

Intent sharingIntent = new Intent(android.content.Intent.ACTION_SEND);
    sharingIntent.setType("text/plain");
    List activities = getPackageManager().queryIntentActivities(sharingIntent, 0);
现在,你可以通过检查这些应用程序是否在列表中,来创建一个只包含所需应用程序的自定义对话框


请在单击dialog的特定应用程序时将类名传递给intent,我发现这个解决方案非常适合我。
谢谢。

如何添加到选项列表??我的意思是,当我们调用ACTION_SEND时,会出现一个包含客户端应用程序列表的对话框,因此如何控制对话框中的这些选项???创建您自己的警报对话框,其中将包含可用的选项