Буфер обмена всегда отдает 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+


Ответы (0 шт):