Domanda

c'è un modo per reprompt all'utente di scegliere un'attività di default per un intento? Ad esempio, l'utente seleziona il suo apk iniziale predefinita e voglio lui a riconsiderare la sua scelta, ancora una volta.

Io so come fare a 2.1 e prima, ma c'è un modo per farlo ora in 2.2?

Famous Home Switcher, che ha fatto cosa simile, non funziona su 2.2 più grazie a Google squadra

È stato utile?

Soluzione

  

Ad esempio, l'utente seleziona il suo apk iniziale predefinita e voglio lui a riconsiderare la sua scelta, ancora una volta.

Questo non è più possibile, a meno che la vostra applicazione è quello preferito. Poi, penso che si può utilizzare clearPackagePreferredActivities() per rimuovere te stesso come la scelta preferita.

In altre parole, siete invitati a influenzare la propria app, ma non sono i benvenuti a influenzare altre applicazioni.

Altri suggerimenti

Questo è come io rappresento la finestra di selezione di attività: Si avviare il ResolverActivity di default di Android per le applicazioni "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);

Il codice di cui sopra sta lavorando per i miei 2.2 tablet abilitati. Quando viene eseguito, visualizza le "Azioni completo di:". Dialogo con tutte le possibili applicazioni per la casa a lista


Un modo per rilevare che è attualmente impostato di default che si può chiedere tutte le attività preferite. I "filtri" liste .getPreferredActivities e "comps" contenere i dati quando chiamata (...).

Filtri -. Contiene i dati del filtro intenti, che ha potuto interrogare il tipo di dati è

comps - contians la componente che sarebbe stato chiamato se le corrispondenze con i filtri intenti

In questo modo si potrebbe verificare se l'applicazione è l'attuale "casa" il set di applicazioni come preferito dall'utente.

List<IntentFilter> filters = new ArrayList<IntentFilter>();
List<ComponentName> comps= new ArrayList<ComponentName>();
getPackageManager().getPreferredActivities(filters, comps, null);
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top