80,352
社区成员
发帖
与我相关
我的任务
分享
private Intent getAppIntent(String packageName) {
Intent intent = new Intent(Intent.ACTION_MAIN);
intent.addCategory(Intent.CATEGORY_LAUNCHER);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_RESET_TASK_IF_NEEDED);
String mainAct = null;
List<ResolveInfo> list = getContext().getPackageManager().queryIntentActivities(intent, 0);
int count = list.size();
for(int i = 0;i<count;i++){
ResolveInfo rinfo = list.get(i);
if (rinfo.activityInfo.packageName.equals(packageName)) {
mainAct = rinfo.activityInfo.name;
break;
}
}
if (TextUtils.isEmpty(mainAct)) {
return null;
}
intent.setComponent(new ComponentName(packageName, mainAct));
long serialNumber = -1;
//17
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR1) {
UserManager mUserManager = (UserManager)getContext().getSystemService(Context.USER_SERVICE);
serialNumber = mUserManager.getSerialNumberForUser(android.os.Process.myUserHandle());
}
intent.putExtra("profile", serialNumber);
return intent;
}
这样子都不行。。。崩溃了。。。Intent intent = new Intent(Intent.ACTION_MAIN);
intent.addCategory(Intent.CATEGORY_LAUNCHER);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK
| Intent.FLAG_ACTIVITY_EXCLUDE_FROM_RECENTS);
ComponentName cn = new ComponentName(mContext.getPackageName,
packageName);
intent.setComponent(cn);
mContext.startActivity(intent);
兄弟可以试试