您的位置:首页 > 其它

自定义隐式Intent弹出框,重写createChooser方法

2015-10-18 12:39 393 查看
获取所有报名:
	PackageManager pm = getActivity().getPackageManager();List<PackageInfo> apps = pm.getInstalledPackages(0);Iterator<PackageInfo> iter = apps.iterator();List<String> AppNamelist=new ArrayList<>();while (iter.hasNext()) {PackageInfo info = iter.next();String packageName = info.packageName;if (!packageName.equals("com.moblico.briefcase")) {AppNamelist.add(packageName);}}
自定义隐式Intent弹出框:
	Intent it =new Intent(Intent.ACTION_VIEW);it.setType(mineType);it.setAction(Intent.ACTION_VIEW);it.addCategory("android.intent.category.DEFAULT");File file = new File(savePAth + "/" + filename);List<ResolveInfo> resInfo =getActivity(). 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.setType(mineType);ActivityInfo activityInfo = info.activityInfo;if(activityInfo.packageName.contains( getActivity().getPackageName())|| activityInfo.name.contains( getActivity().getPackageName())){continue;}targeted.putExtra(Intent.EXTRA_STREAM, Uri.fromFile(file));targeted.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);Uri uri = Uri.fromFile(file);targeted.setDataAndType(uri, mineType);targeted.setPackage(activityInfo.packageName);targetedShareIntents.add(targeted);}Intent chooserIntent =Intent.createChooser(targetedShareIntents.remove(0), getActivity().	getTitle());if(chooserIntent ==null){return;}// A Parcelable[] of Intent or LabeledIntent objects as set with// putExtra(String, Parcelable[]) of additional activities to place// a the front of the list of choices, when shown to the user with a// ACTION_CHOOSER.chooserIntent.putExtra(Intent.EXTRA_INITIAL_INTENTS, targetedShareIntents.toArray(new Parcelable[]{}));try{startActivity(chooserIntent);}catch(android.content.ActivityNotFoundException ex){Toast.makeText(getActivity(),"Can't find view component to view",Toast.LENGTH_SHORT).show();}}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: