今天想打开一个app, 结果怎么都打不开. 在其他机型都是可以的.
解决方案
在清单文件中 添加, 在<manifest>的下面
<queries>
<package android:name="需要打开的app包名" />
</queries>
打开app的代码, 需要传入需要打开的包名
PackageManager packageManager = mContext.getPackageManager();
Intent resolveIntent = new Intent(Intent.ACTION_MAIN, null);
resolveIntent.addCategory(Intent.CATEGORY_LAUNCHER);
resolveIntent.setPackage(packageName);
List<ResolveInfo> apps = packageManager.queryIntentActivities(resolveIntent, 0);
if (apps.size() == 0) {
return;
}
ResolveInfo resolveInfo = apps.iterator().next();
if (resolveInfo != null) {
String className = resolveInfo.activityInfo.name;
Intent intent = new Intent(Intent.ACTION_MAIN);
intent.addCategory(Intent.CATEGORY_LAUNCHER);
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
ComponentName cn = new ComponentName(packageName, className);
intent.setComponent(cn);
mContext.startActivity(intent);
}