有没有办法从packageinfo运行一个意图?我一直在寻找,但我找不到它。
我试过了那个
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
始终为空。
答案 0 :(得分:1)
以下代码使用SDK 8.18
为我工作假设“p”是您的PackageInfo
ApplicationInfo appInfo = p.applicationInfo;
String packageName = appInfo.packageName;
startIntent = getPackageManager().getLaunchIntentForPackage(packageName);
if(startIntent != null){
startActivity(startIntent);
}
答案 1 :(得分:0)
尝试使用以下代码:
Intent i = getPackageManager().p.applicationInfo.packageName(p.applicationInfo.packageName);
startActivity(i);
在开始活动之前,如果需要,您可以设置任何标记(i.setFlags()
)。