Intent启动另一个App的三种方法

来源:互联网 发布:淘宝怎么增加销量 编辑:程序博客网 时间:2024/05/29 15:44

一、

Intent intent = new Intent();PackageManager packageManager = getPackageManager();intent = packageManager.getLaunchIntentForPackage("com.etwod.weidian");startActivity(intent);

二、

Intent intent = new Intent(Intent.ACTION_MAIN);  intent.addCategory(Intent.CATEGORY_LAUNCHER);              ComponentName cn = new ComponentName("com.etwod.weidian", "com.weidian.activity.WelcomeActivity");//包名,全路径类名              intent.setComponent(cn);  startActivity(intent);

三、

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<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);          }      } 
0 0
原创粉丝点击