有時(shí),需要在應(yīng)用程序中調(diào)用其他Android上已經(jīng)安裝完好的應(yīng)用程序,
以下是一個(gè)調(diào)用相機(jī)(com.android.camera)的demo程序:
PackageInfo pi = null; try { //獲得相機(jī)包名信息 pi = getPackageManager().getPackageInfo("com.android.camera", 0); } catch (NameNotFoundException e) { e.printStackTrace(); } //獲得當(dāng)前應(yīng)用程序的包管理器 PackageManager pm = MainActivity.this.getPackageManager(); 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 packageName = ri.activityInfo.packageName; String className = ri.activityInfo.name; Intent intent = new Intent(Intent.ACTION_MAIN); intent.addCategory(Intent.CATEGORY_LAUNCHER); ComponentName cn = new ComponentName(packageName, className); intent.setComponent(cn); startActivity(intent); }