Как добавить ограничение максимальной длины 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
.