Tengo problemas para hacer que esto funcione, aquí hay una visión general de la idea.Android Lanzar o traer al frente otra aplicación a través de la intención
En primer lugar, no puedo cambiar la lógica detrás de esto, era un requisito específico del cliente, me doy cuenta de que con cualquier herramienta como AnyCut podría pasarse por alto, pero eso no importa realmente.
Mi cliente ofrece un conjunto de aplicaciones, la idea es que todas las aplicaciones de la suite se inicien desde una "Aplicación de tablero", para que solo muestre la aplicación Dashboard en el iniciador principal y no todos los iconos de la aplicación.
Permite tomar dos aplicaciones para resolver la idea. La aplicación Dashboard (A) y la aplicación Recieving (B).
Quiero establecer un filtro de intenciones (creo) en la aplicación B para que cada vez que vaya a la aplicación A, y haga clic en el ícono de la aplicación B, la aplicación se inicie o se inicie desde donde dejó (traído al frente)
¿Esto es posible? Si es así, ¿cómo puedo hacerlo? He conseguido que le permite lanzar el lanzamiento de una actividad específicamente en la aplicación usando:
Intent i = new Intent();
i.setClassName("PACKAGE_NAME","SPECIFIC_CLASS");
startActivity(i);
Pero eso no es el comportamiento que yo quiero, ya que siempre se inicia aplicación B en el mismo lugar.
Gracias de antemano, Stefano
Editar: Se ha añadido nueva información. Estaba echando un vistazo al DDMS.
Si ejecuto la aplicación desde cero a través del iniciador principal de Android, la intención es exactamente la misma que cuando dejo el botón de inicio presionado y luego solo traigo la aplicación al frente, independientemente de la actividad. Intenté reproducir, sin éxito hasta ahora, este intento.
INFO/ActivityManager(1292): Starting activity: Intent { act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] flg=0x10200000 cmp=com.example.package/.uiPackage.Activity}
Esta es la forma en que lo hace AnyCut
Intent { act=android.intent.action.VIEW flg=0x10000000 cmp=com.example.package/.uiPackage.Activity bnds=[125,242][235,360]}
alguna idea de cómo podría ir sobre la creación de esa exactamente la misma intención? Ni siquiera puedo encontrar esa bandera en la API de intención.
Esto es interesante. ¿Esto realmente lo llevará de vuelta a donde lo dejó en las aplicaciones secundarias lanzadas desde la aplicación principal (tablero de instrumentos)? Si es así, ¡esto es bueno para saber! – ice911
@ ice911 Hace exactamente lo que describes, parece que Android pone la aplicación en el estado en que se encontraba. Probé esto en el emulador, un nexo uno a g2 y una pestaña de galaxia y funciona en todos ellos. Me refiero a 'activityName' como el que está marcado como principal en el Manifiesto. – blindstuff
Increíble. Funciona de maravilla. –