2012-09-06 18 views
7

¿Cómo puedo reanudar mi aplicación desde su posición anterior.Android: reanudar la aplicación de la posición anterior

Tenga en cuenta que todavía está activo, solo en pausa. Entonces, si hago clic en el botón de la aplicación actual androids, o en el ícono de la aplicación, se reanuda bien.

Pero, ¿quién lo hago desde mi aparato ..

Tengo el siguiente:

// Create an Intent to launch Activity 
Intent intent = new Intent(context, LoginForm.class); 
PendingIntent pendingIntent = PendingIntent.getActivity(context, 0, intent, 0); 

Esto, obviamente, pone en marcha el LoginForm en lugar de sólo la reanudación de la aplicación.

¿Alguien sabe cómo hacer esto?

Editar:

Solo para aclarar, no quiero nada especial. Básicamente, quiero imitar presionar el icono lanzador de Android.

+0

Ver [esto] (http://stackoverflow.com/questions/3268962/when-is-it-necessary-to-use -single-top-launchmode-in-an-android-widget-or-applic) Pregunta SO (posible duplicado) – Luke

+0

Por favor, no intente meterse con los modos de inicio para que esto funcione. No es necesario y crea más problemas más adelante. –

Respuesta

12

básicamente te han respondido a su propia pregunta ;-)

Sólo simular lo que hace Android cuando se inicie la aplicación:

Intent intent = new Intent(context, LoginForm.class); 
intent.setAction(Intent.ACTION_MAIN); 
intent.addCategory(Intent.CATEGORY_LAUNCHER); 
PendingIntent pendingIntent = PendingIntent.getActivity(context, 0, intent, 0); 

o usted podría intentar esto (suponiendo LoginForm es la actividad de las raíces de su aplicación y que no hay una instancia de esta actividad sigue activa en la pila de tareas):

Intent intent = new Intent(context, LoginForm.class); 
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); 
PendingIntent pendingIntent = PendingIntent.getActivity(context, 0, intent, 0); 

Configuración FLAG_ACTIVITY_NEW_TASKdebería solo traer una tarea existente para la aplicación desde el fondo al primer plano sin crear realmente una instancia de la actividad. Prueba esto primero. Si no funciona para usted, haga lo otro.

+1

Dolor de cabeza desaparecido. ¡Gracias hombre! :) Ahora se reanuda en la actividad que haya quedado en :) – Doomsknight

+0

La solución ACTION_MAIN no funcionará en todos los dispositivos. ¡Acabo de probar que ningún dispositivo Samsung lo admite! –

+0

La solución ACTION_MAIN funciona en el Samsung J3. – fadedbee

0

Utilice esta es igual androide haciendo para su actividad lanzador

Intent notificationIntent = new Intent(context, SplashActivity.class); 
     notificationIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_SINGLE_TOP); 
     notificationIntent.setAction(Intent.ACTION_MAIN); 
     notificationIntent.addCategory(Intent.CATEGORY_LAUNCHER); 
     PendingIntent clickActionIntent = PendingIntent.getService(context, 0, notificationIntent, 0); 
Cuestiones relacionadas