启动其他应用通用代码:

        Intent intent = new Intent(Intent.ACTION_MAIN);        intent.addCategory(Intent.CATEGORY_LAUNCHER);        ComponentName cn = new ComponentName("packageName", "className");        intent.setComponent(cn);        startActivity(intent);

想要知道一个apk的包名和启动类名,cmd调用sdk/build-tools下的aapt.exe,输入aapt dump badging xxx.apk

关注package:name='com.tencent.qqmusic'

launchable-activity:name='com.tencent.qqmusic.activity.AppStarterActivity'

这个就是包名和他的启动类名。

更多获取方式:http://blog.csdn.net/a7779486/article/details/52277554


只知道包名,不知道启动类的获取方法

private void doStartApplicationWithPackageName(String packagename) {        // 通过包名获取此APP详细信息,包括Activities、services、versioncode、name等等      PackageInfo packageinfo = null;      try {          packageinfo = getPackageManager().getPackageInfo(packagename, 0);      } catch (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 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);      }  }  

更多相关文章

  1. Android调用系统的发邮件方法
  2. Android Retrofit通过OkHttp添加Interceptor拦截器设置Get请求公
  3. Android轮播图Banner使用方法
  4. Android ButterKnife框架的使用方法
  5. Android中几种图像特效处理方法小结
  6. android 笔记 --- Android界面刷新的方法

随机推荐

  1. Android(安卓)PinyinIME 源码笔记 -- 0.
  2. Android查看系统信息
  3. android > android 发布各大市场
  4. Android(安卓)筆記-Linux Kernel SMP (Sy
  5. 【contacts】Phonebook电话本
  6. gson使用在android使用例子
  7. 利用Handler来更新android的UI
  8. Android(安卓)封装json数据
  9. android SQLiteDatebase 实践
  10. Android(安卓)LocationManager 使用