Índice

Respuesta desde una notificación

Una de las novedades de Android 7 es la posibilidad de responder a los mensajes (por ejemplo) directamente desde las notificaciones.

La primera etapa consiste en vincular una acción de la notificación a un RemoteInput

private static final String TEXT_REPLY_ID_STR = "key_text_reply"; 
String replyLabel = getResources().getString(R.string.reply_label); 
RemoteInput remoteInput = new RemoteInput.Builder(REPLY) 
        .setLabel(replyLabel) 
        .build();  
Notification.Action action =  
        new Notification.Action.Builder(R.drawable.ic_reply_icon, 
                getString(R.string.label), replyPendingIntent) 
                .addRemoteInput(remoteInput)  
                .build();

En la actividad utilizada para responder, agregue un getResultFromIntent en la creación de la actividad.

Bundle remoteInput = RemoteInput.getResultsFromIntent(intent);

A continuación, recupere el texto contenido en la zona mediante el identificador que se pasa durante la creación de la notificación.

if (remoteInput != null) { 
       remoteInput.getCharSequence(TEXT_REPLY_ID_STR); 
    }

No olvide actualizar la notificación una vez enviada la respuesta (del SMS, por ejemplo), para que el usuario entienda ...