Pregunta

¿Hay una manera de Nueva solicitud al usuario elegir una actividad predeterminada para un intento? Por ejemplo, el usuario selecciona su apk de inicio predeterminada y quiero que reconsidere su elección una vez más.

Yo sé cómo hacer eso en 2.1 y antes, pero ¿hay una manera de hacerlo ahora en 2.2?

Famous Home Switcher, que hizo algo similar, no funciona en 2.2 más gracias al equipo de Google

¿Fue útil?

Solución

Por ejemplo, el usuario selecciona su apk de inicio predeterminada y quiero que reconsidere su elección una vez más.

Esto es posible ya que no, a menos que su aplicación es la preferida. Entonces, creo que se puede utilizar para eliminar clearPackagePreferredActivities() a sí mismo como la opción preferida.

En otras palabras, que son bienvenidos a afectar su propia aplicación, pero que no son bienvenidos a afectar a otras aplicaciones.

Otros consejos

Esta es la forma en que represento el diálogo de selección de la actividad: Se inicia la ResolverActivity por defecto de Android para Aplicaciones "casa".

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

El código anterior está trabajando para mis 2,2 tabletas habilitadas. Cuando se ejecuta, muestra las "acciones completas, con:". Diálogo con todas las posibles aplicaciones para el hogar en la lista


Una forma de detectar que está establecido actualmente por defecto que se puede pedir todas las actividades preferidas. Las listas de "filtros" .getPreferredActivities y "comps" contendrá los datos cuando se llama (...).

filtros -. Contiene los datos del filtro intención, que se pudo consultar qué tipo de datos es

comps - contians el componente que se llama si los partidos de filtro intención

De esta manera podrías comprobar si su aplicación es la corriente "casa" conjunto de aplicaciones como el preferido por el usuario.

List<IntentFilter> filters = new ArrayList<IntentFilter>();
List<ComponentName> comps= new ArrayList<ComponentName>();
getPackageManager().getPreferredActivities(filters, comps, null);
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top