Не могу получить имя контакта из интента (API 30)

Пытаюсь получить имя контакта и сохранить себе в приложение. Если устройство с API ниже 30 все норм работает если 30 и выше, имя контакта не сохраняется. Пробовал добавлять разрешения в манифест, но ничего не помогло.

 <queries>
        <intent>
            <action android:name="android.accounts.AccountAuthenticator" />
        </intent>
        <!-- Allows the app to load an icon corresponding to the custom MIME type. -->
        <intent>
            <action android:name="android.intent.action.VIEW" />
            <data android:scheme="content" android:host="com.android.contacts"
                android:mimeType="vnd.android.cursor.item/*" />
        </intent>
    </queries>

Вот кусок кода отвечающий за извлечение и сохранение контакта

 pickContactCallback = ActivityResultCallback<Uri?> {contactUri: Uri? ->
            val queryFields = arrayOf(ContactsContract.Contacts.DISPLAY_NAME)
            val cursor = contactUri?.let { contactUri ->
                requireActivity().contentResolver.query(
                    contactUri,
                    queryFields,
                    null,
                    null,
                    null
                )
            }
            cursor?.use {
                if (it.count == 0){
                    return@ActivityResultCallback
                }
                it.moveToFirst()
                val suspect = it.getString(0)
                //Log.d(TAG, "onActivityResult() called - $suspect")
                crime.suspect = suspect
                crimeDetailViewModel.saveCrime(crime)
                suspectButton.text = suspect
            }
        }

в строчке где идет проверка if (it.count == 0), cursor почему-то возвращает count = 0


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