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


 
Herramientas
  #1  
Viejo 07/09/14, 09:58:36
Avatar de rafaxplayer
rafaxplayer rafaxplayer no está en línea
Miembro del foro
Mensajes: 224
 
Fecha de registro: jun 2013
Localización: en la barcelona media
Mensajes: 224
Modelo de smartphone: LG-E610
Tu operador: Orange
Mencionado: 0 comentarios
Tagged: 0 hilos
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
Avatar de rafaxplayer
rafaxplayer rafaxplayer no está en línea
Miembro del foro
Mensajes: 224
 
Fecha de registro: jun 2013
Localización: en la barcelona media
Mensajes: 224
Modelo de smartphone: LG-E610
Tu operador: Orange
Mencionado: 0 comentarios
Tagged: 0 hilos
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
Avatar de kriogeN
kriogeN kriogeN no está en línea
Colaborador/a
Mensajes: 4,637
Compra y venta: (1)
 
Fecha de registro: oct 2010
Localización: Murcia
Mensajes: 4,637
Modelo de smartphone: Samsung Galaxy S7 Edge SM-G935F
Versión de ROM: CM13 - CM 11
Tu operador: Vodafone
Mencionado: 60 comentarios
Tagged: 3 hilos
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
Avatar de rafaxplayer
rafaxplayer rafaxplayer no está en línea
Miembro del foro
Mensajes: 224
 
Fecha de registro: jun 2013
Localización: en la barcelona media
Mensajes: 224
Modelo de smartphone: LG-E610
Tu operador: Orange
Mencionado: 0 comentarios
Tagged: 0 hilos
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
Avatar de rafaxplayer
rafaxplayer rafaxplayer no está en línea
Miembro del foro
Mensajes: 224
 
Fecha de registro: jun 2013
Localización: en la barcelona media
Mensajes: 224
Modelo de smartphone: LG-E610
Tu operador: Orange
Mencionado: 0 comentarios
Tagged: 0 hilos
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
Avatar de kriogeN
kriogeN kriogeN no está en línea
Colaborador/a
Mensajes: 4,637
Compra y venta: (1)
 
Fecha de registro: oct 2010
Localización: Murcia
Mensajes: 4,637
Modelo de smartphone: Samsung Galaxy S7 Edge SM-G935F
Versión de ROM: CM13 - CM 11
Tu operador: Vodafone
Mencionado: 60 comentarios
Tagged: 3 hilos
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
Avatar de rafaxplayer
rafaxplayer rafaxplayer no está en línea
Miembro del foro
Mensajes: 224
 
Fecha de registro: jun 2013
Localización: en la barcelona media
Mensajes: 224
Modelo de smartphone: LG-E610
Tu operador: Orange
Mencionado: 0 comentarios
Tagged: 0 hilos
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   HTCMania > Todo sobre Android > Programación y Desarrollo para Android


Reglas de Mensajes
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Las caritas están On
Código [IMG] está On
Código HTML está Off

Saltar a Foro



Hora actual: 02:25:31 (GMT +1)

Cookies settings
Powered by vBulletin™
Copyright © vBulletin Solutions, Inc. All rights reserved.
 
HTCMania: líderes desde el 2007