Буфер обмена всегда отдает null
Мне нужно получить скопированную строку из буфера обмена. Я делаю это так:
val clipboardManager = getSystemService(CLIPBOARD_SERVICE) as ClipboardManager
val clipData: ClipData? = clipboardManager.primaryClip
clipData?.let { textView.text = clipData.getItemAt(0).text }
Если я вызываю этот код в onCreate() или в onResume(), я постоянно получаю null.
Но если я вызову этот код внутри post:
textView.post {
val clipboardManager = getSystemService(CLIPBOARD_SERVICE) as ClipboardManager
val clipData: ClipData? = clipboardManager.primaryClip
clipData?.let { textView.text = clipData.getItemAt(0).text }
}
Я получаю нужную мне строку.
Из этого я делаю вывод, что буфер обмена ждет отрисовки всех View-х на экране. Вопрос: для чего ему это нужно или может быть он ждет чего-то другого?
P.S.
Target SDK и SDK на устройстве 30+