1

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しかし、常に null であるため機能しません。

4

2 に答える 2

1

SDK 8.18を使用すると、次のコードが機能しました

「p」が PackageInfo であると仮定します

ApplicationInfo appInfo = p.applicationInfo;

String packageName = appInfo.packageName;

startIntent = getPackageManager().getLaunchIntentForPackage(packageName);

if(startIntent != null){
    startActivity(startIntent);
}
于 2014-01-15T14:34:57.740 に答える
0

次のコードを使用してみてください:

Intent i = getPackageManager().p.applicationInfo.packageName(p.applicationInfo.packageName);
startActivity(i);

アクティビティを開始する前に、必要に応じてフラグ ( i.setFlags()) を設定できます。

于 2010-03-20T17:48:40.387 に答える