В Android 17 появится встроенный пикер контактов, который позволит выбирать один или несколько контактов, задавая поля которые вам нужны.
Ранее уже был
ACTION_PICK, а теперь будет ACTION_PICK_CONTACTS, который запускает спец лаунчер. Для приложения с targetSdk Android 17 и выше будет происходить автоматическая замена на ACTION_PICK_CONTACTS при вызове ACTION_PICK для контактов. // Указываем какие поля надо получить
val requestedFields = arrayListOf(
ContactsContract.CommonDataKinds.Phone.CONTENT_ITEM_TYPE
)
// Создаем Intent
val pickContactIntent = Intent(Intent.ACTION_PICK_CONTACTS).apply {
type = ContactsContract.Contacts.CONTENT_TYPE
putStringArrayListExtra(Intent.EXTRA_REQUESTED_DATA_FIELDS, requestedFields)
}
// Запускаем Intent Laucnher
pickContactLauncher.launch(pickContactIntent)
Пишут что это можно протестировать на старых версиях Android. При отправки Intent c
ACTION_PICK надо будет добавить EXTRA_USE_SYSTEM_CONTACTS_PICKER.Хорошее изменение, давно уже пора было ограничить приложениям доступ ко всем контактам, только вот гранулярный доступ как это было сделано с фото эффективнее, чем пикер. Если со стороны Google Play не будет ограничений для приложений, чтобы использовать разрешение `READ_CONTACTS`, то какой смысл в этой новинках.
Я попытался запустить новый пикер на сборке эмулятора Android 17 Beta 2, но пока там ничего не работает. Наверное поэтому и нету ни одной демонстрации его работы в официальной документации.
🔗 Документация по Contact Picker
#Android #AndrooidDev #Android17 #Безопасность
Please open Telegram to view this post
VIEW IN TELEGRAM
👍85👎10🔥4🤔3