Question

est-il un moyen de reprompt l'utilisateur de choisir une activité par défaut pour une intention? Par exemple, l'utilisateur sélectionne sa maison par défaut apk et je veux qu'il reconsidère encore une fois son choix.

Je sais comment faire le 2.1 et avant, mais est-il un moyen de le faire maintenant 2.2?

Célèbre Home Switcher, qui a fait la même chose, ne fonctionne plus sur 2.2 grâce à Google équipe

Était-ce utile?

La solution

  

Par exemple, l'utilisateur sélectionne sa maison par défaut apk et je veux qu'il reconsidère encore une fois son choix.

Ce n'est plus possible, à moins que votre application est celle préférée. Ensuite, je pense que vous pouvez utiliser clearPackagePreferredActivities() de vous retirer comme le choix préféré.

En d'autres termes, vous êtes invités à affecter votre propre application, mais vous n'êtes pas le bienvenu à affecter d'autres applications.

Autres conseils

Voici comment je représente la boîte de dialogue de sélection d'activité: Il commence la ResolverActivity par défaut Android pour les applications "HOME".

Intent selector = new Intent("android.intent.action.MAIN");
selector.addCategory("android.intent.category.HOME");
selector.setComponent(new ComponentName("android", "com.android.internal.app.ResolverActivity"));

startActivity(selector);

Le code ci-dessus fonctionne pour mes 2.2 comprimés activés. Lorsqu'il est exécuté, il affiche les « Actions complètes avec: ». Le dialogue avec toutes les applications possibles Accueil dans la liste


Une façon de détecter qui est actuellement défini par défaut, vous pouvez demander toutes les activités préférées. Les listes « filtres » et contiennent « Comps » les données lors de l'appel .getPreferredActivities (...).

filtres -. Contient les données de filtrage d'intention, que vous pouvez interrogez ce type de données, il est

comps - le composant qui CONTIENT LE serait appelé si les matchs de filtre intention

De cette façon, vous pouvez vérifier si votre application est l'ensemble de l'application « à la maison » actuelle comme préféré par l'utilisateur.

List<IntentFilter> filters = new ArrayList<IntentFilter>();
List<ComponentName> comps= new ArrayList<ComponentName>();
getPackageManager().getPreferredActivities(filters, comps, null);
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top