2010-02-20 2 views
1

Existe-t-il un moyen d'exécuter une intention à partir de packageinfo? J'ai cherché et je ne le trouve pas.Démarrage de l'activité à partir de packageinfo

J'ai essayé comme ça

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); 

mais il ne fonctionne pas parce que p.applicationInfo.name est toujours nulle.

Répondre

0

Essayez utilisez le code folowing:

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

avant l'activité de démarrage, vous pouvez configurer les drapeaux (i.setFlags()), si vous avez besoin.

1

Le code suivant a fonctionné pour moi en utilisant SDK 8.18

En supposant que "p" est votre PackageInfo

ApplicationInfo appInfo = p.applicationInfo; 

String packageName = appInfo.packageName; 

startIntent = getPackageManager().getLaunchIntentForPackage(packageName); 

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