Android PendingIntent te lleva a una actividad ya existente?
No estaba muy seguro de cómo buscar esto …
Tengo un el siguiente que se llama siempre que un trabajo es agregado o quitado de mi cola para poner una notificación en la barra de estado:
- Notificación de la pantalla de bloqueo de Android Facebook
- Cómo crear una notificación de recordatorio
- Invitación a la aplicación de Facebook no recibió notificación push en el dispositivo Android
- ¿Es posible configurar la notificación ampliada como predeterminada en las notificaciones de texto grande?
- ¿Cómo hacer un icono en la barra de acción con el número de notificación?
private void showNotification() { int jobsize = mJobQueue.size(); int icon = (jobsize == 0) ? android.R.drawable.stat_sys_upload_done : android.R.drawable.stat_sys_upload; Notification notification = new Notification(icon, "Test", System.currentTimeMillis()); Intent intent = new Intent(this, FileManagerActivity.class); PendingIntent pendingIntent = PendingIntent.getActivity(this, 0, intent, 0); notification.flags = (Notification.FLAG_SHOW_LIGHTS | Notification.FLAG_AUTO_CANCEL); notification.setLatestEventInfo(this, "Uploading to our servers", getString((jobsize > 0) ? R.string.notification_active_transfers : R.string.notification_no_transfers), pendingIntent); mNotifyManager.notify(NOTIFICATION, notification); }
Como es ahora el comportamiento es el siguiente:
-
Si el usuario se desconecta y recibe la notificación, seguirá abriendo una nueva FileManagerActivity (ops!) Que podría conseguir alrededor de esto comenzando en mi actividad de autenticación y pasar la intención de mi pila en un orden natural, es cuando la aplicación ya está Correr es donde tengo dificultades.
-
Si el usuario ya tiene el FileManagerActivity abrir haciendo clic en la notificación se pondrá una segunda instancia sobre él. En este caso, quiero que FileManagerActivity en ejecución reciba foco en lugar de iniciar una nueva instancia.
¿Cómo puedo obtener el comportamiento correcto?
- Notificación con sonido aunque el teléfono esté enmudecido
- ¿Cómo iniciar la actividad cuando el usuario hace clic en una notificación?
- Cómo activar la configuración de la aplicación 'Mostrar notificaciones' en 4.1 Jelly Bean for Toast Messages
- Cómo crear una notificación con NotificationCompat.Builder?
- Enviar notificación de aplicación de Android a facebook mediante la notificación de API de facebook
- ANDROID: ¿Cómo puedo iniciar un diálogo emergente desde una notificación o un botón de búsqueda presionado encima de todas las ventanas?
- Creación de la notificación de InstrumentationTestCase
- Registro de identificación del dispositivo directamente con Amazon SNS
He hecho esto antes estableciendo mi actividad para usar el modo de lanzamiento 'singleTop' en el Manifiesto de aplicación. Logrará la función deseada, utilizando la actividad existente si existe. En este caso, onNewIntent será llamado en su actividad.
Tendrá que comprobar su FileManagerActivity para la autenticación e iniciar una nueva actividad según corresponda si el usuario no ha iniciado sesión.
Creo que Trabajó cuando agregó estos:
Intent.setAction (Long.toString (System.currentTimeMillis ()));
PendingIntent.FLAG_UPDATE_CUR
Intent intent = new Intent(context, MyOwnActivity.class); intent.putExtra("foo_bar_extra_key", "foo_bar_extra_value"); intent.setAction(Long.toString(System.currentTimeMillis())); PendingIntent pendingIntent = PendingIntent.getActivity(context, 0,intent,PendingIntent.FLAG_UPDATE_CURRENT);