android 中通过包名去启动其他的acticity
2017-12-07 14:08
393 查看
private void doStartApplicationWithPackageName(String packagename) { // 通过包名获取此APP详细信息,包括Activities、services、versioncode、name等等 PackageInfo packageinfo = null; try { packageinfo = getPackageManager().getPackageInfo(packagename, 0); } catch (PackageManager.NameNotFoundException e) { e.printStackTrace(); } if (packageinfo == null) { return; } // 创建一个类别为CATEGORY_LAUNCHER的该包名的Intent Intent resolveIntent = new Intent(Intent.ACTION_MAIN, null); resolveIntent.addCategory(Intent.CATEGORY_LAUNCHER); resolveIntent.setPackage(packageinfo.packageName); // 通过getPackageManager()的queryIntentActivities方法遍历 List<ResolveInfo> resolveinfoList = getPackageManager() .queryIntentActivities(resolveIntent, 0); ResolveInfo resolveinfo = resolveinfoList.iterator().next(); if (resolveinfo != null) { // packagename = 参数packname String packageName = resolveinfo.activityInfo.packageName; // 这个就是我们要找的该APP的LAUNCHER的Activity[组织形式:packagename.mainActivityname] String className = resolveinfo.activityInfo.name; // LAUNCHER Intent Intent intent = new Intent(Intent.ACTION_MAIN); intent.addCategory(Intent.CATEGORY_LAUNCHER); // 设置ComponentName参数1:packagename参数2:MainActivity路径 ComponentName cn = new ComponentName(packageName, className); intent.setComponent(cn); startActivity(intent); } }
相关文章推荐
- Android:通过意图启动其他程序、Uri、setAction、setData、setDataAndType 推荐
- Android:通过意图启动其他程序、Uri、setAction、setData、setDataAndType
- Android开发之通过Intent启动其他App的Service
- android里 通过Intent来启动其他非系统应用程序
- Android 通过adb shell命令查看内存,CPU,启动时间,电量等信息
- Android 通过包名启动另一个应用(APP)
- Android通过APP启动另一个APP
- Android通过外部启动APP的三种方式
- android 如何通过包名打开其他应用
- 第92章、广播之三通过广播启动服务(从零开始学Android)
- 【Android】如何启动调用其他app中的Activity
- Android通过包名启动应用程序
- android启动其他acitivity过程中,出现的短暂黑屏问题
- android开发步步为营之36:四大组件之Service(中)通过bindService启动
- Android通过App启动另一个APP
- 如何通过AndroidJUnit4快速启动一个activity,并且不自动退出
- 在ubuntu上搭建android开发环境(2)——通过windows启动器启动ubuntu
- android启动其他应用的一段代码
- android中使用代码启动其他程序
- Android中通过其他线程更新主线程UI