Какие знаешь системные Content Provider

«Какие знаешь системные Content Provider» — вопрос из категории Android компоненты, который задают на 23% собеседований Android Разработчик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

Системные Content Provider'ы в Android предоставляют доступ к общим данным системы. Основные из них:

  1. Contacts (content://com.android.contacts) - доступ к контактам
  2. Call Log (content://call_log/calls) - история звонков
  3. MediaStore (content://media/external/images/media) - доступ к медиафайлам
  4. Calendar (content://com.android.calendar) - события календаря
  5. Settings (content://settings/system) - системные настройки

Пример запроса к Contacts:

val cursor = contentResolver.query(
    ContactsContract.Contacts.CONTENT_URI,
    null, null, null, null
)

Для работы с ними требуются соответствующие разрешения в манифесте (READ_CONTACTS, READ_CALENDAR и т.д.). Важно проверять доступность провайдера через PackageManager перед использованием.