在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;
}