程序调用系统自带的APP

private void openApp(String packageName) {// 连接到其他应用
  PackageInfo pi = null;
  try {
   pi = getPackageManager().getPackageInfo(packageName, 0);
  } catch (NameNotFoundException e) {
   e.printStackTrace();
  }

  Intent resolveIntent = new Intent(Intent.ACTION_MAIN, null);
  resolveIntent.addCategory(Intent.CATEGORY_LAUNCHER);
  resolveIntent.setPackage(pi.packageName);

  List<ResolveInfo> apps = pm.queryIntentActivities(resolveIntent, 0);

  ResolveInfo ri = apps.iterator().next();
  if (ri != null) {
   String packageName1 = ri.activityInfo.packageName;
   String className = ri.activityInfo.name;
   Intent intent = new Intent(Intent.ACTION_MAIN);
   intent.addCategory(Intent.CATEGORY_LAUNCHER);
   ComponentName cn = new ComponentName(packageName1, className);
   intent.setComponent(cn);
   startActivity(intent);
  }
 }

 

eg:打开音乐播放器:openApp(com.android.music);

 

 

你可能感兴趣的:(程序调用系统自带的APP)