比如说,想发送带有附件的邮件,然后打开邮件的客户端,结果弹出一大群的不相关的app,比如蓝牙啊,Skype啊。
直接上代码
Intent iEmail = new Intent(android.content.Intent.ACTION_SEND);
iEmail.setType("message/rfc822");
try {
List<ResolveInfo> resInfo = getActivity().getPackageManager().queryIntentActivities(iEmail, 0);
if (!resInfo.isEmpty()) {
List<Intent> targetedShareIntents = new ArrayList<Intent>();
for (ResolveInfo info : resInfo) {
Intent targeted = getEmailIntent();//getEmailIntent()这里是自己需求intent
ActivityInfo activityInfo = info.activityInfo;
if (activityInfo.name.contains("mail")) {
targeted.setPackage(activityInfo.packageName);
targeted