Тег provider
Тег provider объявляет
ContentProvider -
компонент, который отдаёт строки и файлы
по content:// URI.
Ключевой атрибут authorities
задаёт уникальное имя провайдера в системе.
Стоит в
application
рядом с activity и service.
Синтаксис
<provider
android:name=".MyProvider"
android:authorities="com.example.app.provider"
android:exported="false" />
Параметры
| Параметр | Описание |
|---|---|
name |
Класс провайдера. |
authorities |
Строка authority в URI content://authority/path. Должна быть уникальной в устройстве. |
exported |
Могут ли другие приложения читать URI этого провайдера. |
grantUriPermissions |
Разрешить временную выдачу прав на URI через intent с флагом FLAG_GRANT_READ_URI_PERMISSION. |
Пример
Давайте объявим провайдер только для своего пакета:
<manifest xmlns:android="http://schemas.android.com/apk/res/android">
<application android:label="@string/app_name">
<provider
android:name=".NotesProvider"
android:authorities="com.example.app.notes"
android:exported="false" />
</application>
</manifest>
Система зарегистрирует URI с authority
com.example.app.notes
и направит запросы ContentResolver
в класс NotesProvider.
Смотрите также
-
тег
activity,
экран, который может открыть URI -
тег
uses-permission,
если провайдер читает защищённые данные -
тег
data,
которым описывают URI в intent-filter -
тег
application,
родитель для provider