从packageinfo开始活动

时间:2010-02-20 03:13:25

标签: android android-intent

有没有办法从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始终为空。

2 个答案:

答案 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())。