自定义隐式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();}}
相关文章推荐
- Ubuntu下安装codeblocks步骤
- Tomcat翻译--Tomcat Web Application Deployment(Tomcat中部署web应用)
- 辉腾的自信
- BZOJ【1607】轻拍牛头
- Configuring Oracle E-Business Suite Integrated SOA Gateway Release 12.1.2 and Release 12.1.3 in a Multinode Environment (Doc ID 1081100.1)
- python中threading的常用方法的详解
- 最少代码实现Android简单计算器(已经消除常见bug)
- 求一个数的所有约数
- Android 项目(一):项目流程
- Git 实际使用总结
- 1.JVM垃圾回收机制-哪些内存需要回收
- 恢复损坏的pdf文件
- Hadoop ->> MapReduce编程模型
- vs2010未能正确加载包“Microsoft.Data.Entity.Design.Package.MicrosoftDataEntityDesignPackage
- java类中获取WEB-INF路径
- Objective-C Foundation框架实践——NSString(三)
- Django官方文档Model层之继承
- Git常用命令
- Android Toolbar左、中、右对齐
- PSpice添加SPICE模型