Programación y Desarrollo para Android Subforo exclusivo para temas de programación de software para PDAs y desarrollo de aplicaciones, interfaces, etc bajo Android

Respuesta
 
Herramientas
  #1  
Viejo 07/09/14, 09:58:36
Array

[xs_avatar]
rafaxplayer rafaxplayer no está en línea
Miembro del foro
 
Fecha de registro: jun 2013
Localización: en la barcelona media
Mensajes: 224
Modelo de smartphone: LG-E610
Tu operador: Orange
Navegacion activitys

Hola compañeros , tengo una duda sobre navegación entre activitys , resulta que tengo una que se encuentra en segundo lugar en la pila y a ella puedo acceder de dos formas:

Una desde la main activity.
Otra desde una notificación.

El problema me surge cuando accedo desde la notificación , porque entonces si la app no estaba activa en la pila solo se encuentra esta y no la main activity y si pulso "inicio" o "Back "se cierra la aplicacion porque no hay ninguna activity anterior en la pila.

Mi duda es:

¿como saber saber si la main activity esta activa o no para acceder a ella con navutils.navigate o iniciarla con startActivity()?
Responder Con Cita


  #2  
Viejo 11/09/14, 09:33:55
Array

[xs_avatar]
rafaxplayer rafaxplayer no está en línea
Miembro del foro
 
Fecha de registro: jun 2013
Localización: en la barcelona media
Mensajes: 224
Modelo de smartphone: LG-E610
Tu operador: Orange
Bueno no se si mi duda no la he planteado bien... nadie sabe alguna solución a esto?
Responder Con Cita
  #3  
Viejo 11/09/14, 09:55:56
Array

[xs_avatar]
kriogeN kriogeN no está en línea
Colaborador/a
· Votos compra/venta: (1)
 
Fecha de registro: oct 2010
Localización: Murcia
Mensajes: 4,637
Modelo de smartphone: Samsung Galaxy S7 Edge SM-G935F
Tu operador: Vodafone
Puedes sobreescribir onBackPressed para que inicie a la Activity "anterior", si usas FLAG_ACTIVITY_CLEAR_TOP provocará el mismo efecto que pulsar atrás. Lo único malo es que se creará una instancia nueva, y no la instancia que ya tenías antes.

Es decir, si abres la app y tienes A que tiene un EditText y pones un texto, y después vas a B, en condiciones normales volverías a A con el EditText aún relleno.

Si sobreescribes onBackPressed para que haga lo que te he dicho provocará que cuando vayas a B y vuelvas a A el EditText esté vacío. Pero si abres la notificación y se abre B y luego pulsas Back aparecerá A.

Después de todo este rollazo te voy a contar lo que hago yo, que me pasaba algo parecido.

La app abre A, que puedes navegar a B y muchos sitios más. La notificación debe mostrar a B. Pero lo que hago es desde la notificación lanzar a A con un Extra en el que le indico que la estoy abriendo desde una notificación, así que en el onCreate de A compruebo el Extra y si existe lanzo inmediatamente a B. El usuario verá sólo a B, pero al pulsar Back estará A.
Responder Con Cita
Los siguientes 3 usuarios han agradecido a kriogeN su comentario:
[ Mostrar/Ocultar listado de agradecimientos ]
  #4  
Viejo 11/09/14, 21:07:04
Array

[xs_avatar]
rafaxplayer rafaxplayer no está en línea
Miembro del foro
 
Fecha de registro: jun 2013
Localización: en la barcelona media
Mensajes: 224
Modelo de smartphone: LG-E610
Tu operador: Orange
jajajaj después de todo el rollazo , con la ultima aclaración me parece una idea perfecta. gracias
Responder Con Cita
  #5  
Viejo 12/09/14, 08:48:46
Array

[xs_avatar]
rafaxplayer rafaxplayer no está en línea
Miembro del foro
 
Fecha de registro: jun 2013
Localización: en la barcelona media
Mensajes: 224
Modelo de smartphone: LG-E610
Tu operador: Orange
Bueno después de pruebas de todo tipo sigo con el mismo problema si mi app esta activa , si no lo esta no hay problema porque desde notificacion con el filtro que me comentaste , crea instancia de mainactivity y pasa a la secundaria y desde la secundaria back a la primera.

pero si mi app esta activa con esto crea una nueva main activity y una nueva secundaria , así que onback pasa a main y si cierras hay otra main en la pila este es el problema.

El tema seria saber si la activity main esta activa o no para en vez de usar tu filtro y crear main para pasar a b , simplemente pasar a b , checkar si main es activa = onBack que no, staractivity y nueva instancia , creo que el tema seria este , a no ser que tengáis alguna idea mejor . ;)
Responder Con Cita
  #6  
Viejo 12/09/14, 11:56:43
Array

[xs_avatar]
kriogeN kriogeN no está en línea
Colaborador/a
· Votos compra/venta: (1)
 
Fecha de registro: oct 2010
Localización: Murcia
Mensajes: 4,637
Modelo de smartphone: Samsung Galaxy S7 Edge SM-G935F
Tu operador: Vodafone
Usa el FLAG_ACTIVITY_CLEAR_TOP para lanzar la Main desde la notificación, así teóricamente debe destruir toda la pila ya existente.
Responder Con Cita
Gracias de parte de:
  #7  
Viejo 12/09/14, 17:27:39
Array

[xs_avatar]
rafaxplayer rafaxplayer no está en línea
Miembro del foro
 
Fecha de registro: jun 2013
Localización: en la barcelona media
Mensajes: 224
Modelo de smartphone: LG-E610
Tu operador: Orange
ahora si hemos dao con la tecla , mira que hace tiempo use las flags pero ya ni me acordaba que existían , gracias.
Responder Con Cita
Respuesta

Estás aquí
Regresar   Portal | Indice > Todo sobre Android > Programación y Desarrollo para Android



Hora actual: 23:03:21 (GMT +2)



User Alert System provided by Advanced User Tagging (Lite) - vBulletin Mods & Addons Copyright © 2025 DragonByte Technologies Ltd.

Contactar por correo / Contact by mail / 邮件联系 /