在Android開發中,我們有需要通過“應用名稱”來啓動應用的需求。
使用方法很簡單,
Intent intent = getIntentByName("應用名稱");
startActivity(intent);
// 通過應用名稱,來獲取應用的 Intent 的方法
public Intent getIntentByName(String name) {
PackageManager pm = getApplicationContext().getPackageManager();
List<PackageInfo> allApps = pm.getInstalledPackages(0); // 獲取本地所有已經安裝的應用
Intent intent = null;
if (null != allApps && null != name) {
for (PackageInfo pi : allApps) {
// 在本地已經安裝應用中比較應用名稱
if (name.equals(pi.applicationInfo.loadLabel(pm))) {
intent = pm.getLaunchIntentForPackage(pi.packageName);
break;
}
}
}
return intent;
}