private void RunAppByPackageName(String packageName) {
PackageInfo pi;
try {
pi = getPackageManager().getPackageInfo(packageName, 0);
Intent resolveIntent = new Intent(Intent.ACTION_MAIN, null);
resolveIntent.setPackage(pi.packageName);
PackageManager pManager = getPackageManager();
List<ResolveInfo> apps = pManager.queryIntentActivities(
resolveIntent, 0);
ResolveInfo ri = apps.iterator().next();
if (ri != null) {
packageName = ri.activityInfo.packageName;
String className = ri.activityInfo.name;
Intent intent = new Intent(Intent.ACTION_MAIN);
ComponentName cn = new ComponentName(packageName, className);
intent.setComponent(cn);
startActivity(intent);
}
} catch (NameNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
本文介绍了一种在Android中通过指定的应用程序包名来启动特定应用程序的方法。此方法首先获取目标应用的PackageInfo,然后使用PackageManager查询与该包名相关的活动,并启动找到的第一个活动。
1271

被折叠的 条评论
为什么被折叠?



