美文网首页
通过包名打开应用的方式

通过包名打开应用的方式

作者: NewNiu | 来源:发表于2020-04-24 10:56 被阅读0次
方法一:
PackageManager packageManager = getPackageManager();
Intent intent = packageManager.getLaunchIntentForPackage(pkgname);
if (intent != null) {
    intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
}
startActivity(intent);
方法二:
PackageManager packageManager = mActivity.getPackageManager();
PackageInfo pi = null;
try {
     pi = packageManager.getPackageInfo(entity.getPackageName(),0);
} catch (PackageManager.NameNotFoundException e) {
     e.printStackTrace();
}
Intent resolveIntent = new Intent(Intent.ACTION_MAIN, null);
resolveIntent.addCategory(Intent.CATEGORY_LAUNCHER);
resolveIntent.setPackage(pi.packageName);
List<ResolveInfo> apps = packageManager.queryIntentActivities(resolveIntent,0);
ResolveInfo ri = apps.iterator().next();
if (ri != null){
    String className = ri.activityInfo.name;
    Intent intent = new Intent();
    ComponentName cn = new ComponentName(entity.getPackageName(),className);
    intent.setComponent(cn);
    intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
    mActivity.startActivity(intent);
}

相关文章

网友评论

      本文标题:通过包名打开应用的方式

      本文链接:https://www.haomeiwen.com/subject/rpmxwhtx.html