no estaba muy seguro de cómo buscar esta ...Android PendingIntent te lleva a una actividad ya existente?
tengo una la siguiente, que se llama cada vez que se añade o elimina de mi cola de un trabajo para poner una notificación en la barra de estado:
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 lo es ahora el comportamiento es la siguiente:
si el usuario cierra la sesión y le pega la notificación, todavía se abrirá una nueva FileManagerActivity pude evitar esto a partir de mi autenticación (ops!) actividad y pasar el inte Nut up en mi pila en un orden natural, es cuando la aplicación ya se está ejecutando es donde tengo dificultades.
si el usuario ya tiene la actividad FileManagerActivity haciendo clic en la notificación pondrá una segunda instancia sobre ella. En este caso, quiero que FileManagerActivity en ejecución reciba el foco en lugar de lanzar una nueva instancia.
¿Cómo puedo obtener el comportamiento correcto?
veo, por lo que probablemente debería hacer una verificación de parnoid en todas mis actividades para la autenticación no debería hacerlo? –
Buena idea, sí. –