有没有办法从 packageinfo 运行一个 intent?我一直在寻找,但没有找到。
我试过了
Intent i = new Intent();
i.setAction(Intent.ACTION_MAIN);
i.addCategory(Intent.CATEGORY_LAUNCHER);
i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK |
Intent.FLAG_ACTIVITY_RESET_TASK_IF_NEEDED);
i.setComponent(new ComponentName(p.applicationInfo.packageName,p.applicationInfo.name));
startActivity(i);
但它不起作用,因为 p.applicationInfo.name
始终为 null。
最佳答案
以下代码对我使用 SDK 8.18 有效
假设“p”是您的 PackageInfo
ApplicationInfo appInfo = p.applicationInfo;
String packageName = appInfo.packageName;
startIntent = getPackageManager().getLaunchIntentForPackage(packageName);
if(startIntent != null){
startActivity(startIntent);
}
关于android - 从 packageinfo 开始 Activity ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2300884/