La mejor manera que puedo describir mi problema es la siguiente:La notificación abre la actividad, se presiona el botón Atrás, se abre la actividad principal?
- Una notificación se crea en el arranque (con un
BroadcastReceiver
). - La actividad principal de mi aplicación se abre y se presiona el botón de inicio (la aplicación todavía se ejecuta en segundo plano hasta que el sistema la cierra).
- Desplizo la barra de estado y presiono sobre la notificación creada previamente en el arranque.
- Se inicia alguna actividad, diferente de la principal.
- Presiono el botón Atrás y se muestra la actividad principal.
¿Cómo puedo evitar ese último paso? Lo que quiero con el botón Atrás es regresar donde estaba, que es la pantalla de inicio (el escritorio con todos los widgets y los iconos de la aplicación). Se suponía que la actividad principal de mi aplicación se ejecutaba en segundo plano, ¿por qué se llamó con el botón Atrás?
En caso de que sea relevante, mi código para crear una notificación es el siguiente:
public void createNotification(int notifyId, int iconId, String contentTitle, String contentText) {
Intent intent = new Intent(mContext, NewNoteActivity.class);
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
intent.putExtra(AgendaNotesAdapter.KEY_ROW_ID, (long)notifyId);
PendingIntent contentIntent = PendingIntent.getActivity(mContext, notifyId, intent, 0);
Notification notification = new Notification(iconId, contentTitle, 0);
notification.setLatestEventInfo(mContext, contentTitle, contentText, contentIntent);
mNotificationManager.notify(notifyId, notification);
He intentado añadir un par de más combinaciones banderas a intent
pero ninguno de ellos resolvió mi problema ... Sugerencias?
Casi que ... La cuestión es que no tengo actividad en la página de inicio, me has entendido mal. Lo que quería decir es que quería volver a la pantalla de inicio, el escritorio, donde tienes todos tus widgets con un fondo de pantalla ... –
He editado mi respuesta ahora, puedes consultarla. – Dharmendra
Parece que podría funcionar pero también parece un truco sucio. Todo lo que dijiste tiene sentido, pero no estoy contento con esa solución y no voy a usarla. Pero creo que funciona y resuelve el problema, así que lo estoy marcando como una respuesta aceptada. –