Я реализовал функцию копирования из буфера обмена. Итак, всякий раз, когда пользователь что-то копирует, и после этого мое приложение возобновляется, я показываю Snackbar для выполнения какого-либо действия. Он отлично работает в Android 9, но в Android 10 в соответствии с изменениями политики он не наблюдает изменения буфера обмена в фоновом режиме. Это нормально, но когда я вызываю следующий метод в onResume, он не получает никакого текста, поскольку hasPrimaryClip имеет значение false. Но на том же экране, если я вызываю тот же метод при нажатии любой кнопки, он работает нормально и возвращает скопированный текст. Может быть, буфер обмена не дает доступ сразу после onResume и с некоторой задержкой при нажатии любой кнопки разрешает доступ. В чем может быть проблема? Любые идеи будут высоко оценены.
Спасибо
public String readFromClipboard() {
ClipboardManager clipboard = (ClipboardManager) getSystemService(Context.CLIPBOARD_SERVICE);
if (clipboard.hasPrimaryClip()) {
android.content.ClipDescription description = clipboard.getPrimaryClipDescription();
android.content.ClipData data = clipboard.getPrimaryClip();
if (data != null && description != null && description.hasMimeType(ClipDescription.MIMETYPE_TEXT_PLAIN))
return String.valueOf(data.getItemAt(0).getText());
}
return null;
}