Как добавить ограничение максимальной длины RemoteInput

Прямой ответ с кодом ниже:

int requestCode = sMsgRequestCode.incrementAndGet();

Intent broadcast = new Intent(context, DirectReplyReceiver.class);
broadcast.setAction("xxx.action.DIRECT_REPLY");
broadcast.putExtras(replyBundle);
broadcast.putExtra("request_code", requestCode);

PendingIntent replyIntent = PendingIntent.getBroadcast(
        context, requestCode, broadcast,
        PendingIntent.FLAG_UPDATE_CURRENT);

RemoteInput input = new RemoteInput.Builder("reply_key")
        .setLabel("At most 800 words")
        .build();
NotificationCompat.Action action = new NotificationCompat.Action.Builder(
        0, "Reply", replyIntent)
        .addRemoteInput(input)
        .setSemanticAction(NotificationCompat.Action.SEMANTIC_ACTION_REPLY)
        .build();
builder.addAction(action);

Как я могу добавить ограничение максимальной длины на ввод? нет apis.
Или я могу сохранить содержимое remoteInput, если его длина больше max-length?

PS:
для прямого ответа требуется ответ только один раз, за ​​исключением неудачных ответов (можно повторить попытку).
поэтому я позвонилPendingIntent.FLAG_UPDATE_CURRENT, вместо того PendingIntent.FLAG_ONE_SHOT.
В случае успешного ответа отмените pendingIntent с помощьюPendingIntent#cancel.

0 ответов

Другие вопросы по тегам