80,492
社区成员
发帖
与我相关
我的任务
分享
String type = getMIMEType(file);
Intent it = new Intent(Intent.ACTION_VIEW);
it.setDataAndType(Uri.fromFile(Uri.fromFile(file), type);
List<ResolveInfo> resInfo = getPackageManager().queryIntentActivities(it, 0);
if (!resInfo.isEmpty()) {
List<Intent> targetedShareIntents = new ArrayList<Intent>();
for (ResolveInfo info : resInfo) {
Intent targeted = new Intent(Intent.ACTION_VIEW);
targeted.setDataAndType(Uri.fromFile(file), type);
ActivityInfo activityInfo = info.activityInfo;
// judgments : activityInfo.packageName, activityInfo.name, etc.
if (activityInfo.packageName.contains("com.tencent.mobileqq")) {
continue;
}
targeted.setPackage(activityInfo.packageName);
targetedShareIntents.add(targeted);
}
if (targetedShareIntents.size()!=0){
Intent chooserIntent = Intent.createChooser(targetedShareIntents.remove(0), "Select app to Open");
chooserIntent.putExtra(Intent.EXTRA_INITIAL_INTENTS, targetedShareIntents.toArray(new Parcelable[]{}));
startActivity(chooserIntent);
}else {
Toast.makeText(FourActivity.this, "没有可选程序", Toast.LENGTH_SHORT).show();
}
}