Проблема: Когда я вызываю код для очистки буфера обмена, Gboard не удаляет ранее скопированный текст из своей «панели предложений» или своей внутренней истории менеджера буфера обмена. Вместо этого действие «очистить» рассматривается как новое событие, в результате чего:
- Исходный секретный текст остается в кэше истории клавиатуры.
- Новый «пустой» или «пустой» клип появляется как самый последний элемент в пользовательском интерфейсе клавиатуры.
Текущая реализация:
Код: Выделить всё
val clipboardManager = context.getSystemService(Context.CLIPBOARD_SERVICE) as ClipboardManager
val emptyClipData = ClipData.newPlainText("", "")
clipboardManager.setPrimaryClip(emptyClipData)
- Исходный текст сохраняется: ранее скопированный конфиденциальный текст остается видимым на панели подсказок/предсказаний Gboard.
- Добавлен новый пустой клип: вместо замены предыдущей записи менеджер буфера обмена Android создает новый пустой клип как самый последний элемент.
- История не очищена: исходный текст продолжает появляться в истории буфера обмена Gboard.
Буфер обмена должен быть полностью очищен, а конфиденциальный текст больше не должен быть доступен через:
- Предложение Gboard bar
- История буфера обмена Gboard
- Любые API доступа к буферу обмена
Есть ли способ запретить сторонним клавиатурам кэшировать данные буфера обмена?
Подробнее здесь: https://stackoverflow.com/questions/798 ... snt-remove
Мобильная версия