2010-02-20 173 views
1

有沒有辦法從packageinfo運行一個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總是空。

回答

0

嘗試使用如下因素代碼:

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

開始活動之前,你可以設置任何標誌(i.setFlags()),如果你需要。

1

下面的代碼爲我工作使用SDK 8.18

假設 「P」 是你PackageInfo

ApplicationInfo appInfo = p.applicationInfo; 

String packageName = appInfo.packageName; 

startIntent = getPackageManager().getLaunchIntentForPackage(packageName); 

if(startIntent != null){ 
    startActivity(startIntent); 
}