Android ContentProvider разрешения на чтение и запись - PullRequest
6 голосов
/ 21 августа 2011
Разрешения

, кажется, не имеют никакого значения ...

В манифесте у меня есть только один <uses-permission> (permission.INTERNET), и у меня есть два <permission> элемента:

<permission android:name="myapp.permission.READ"
    android:permissionGroup="myapp.permission-group.MYAPP_DATA"
    android:label="@string/perm_read"
    android:description="@string/perm_read_summary"
    android:protectionLevel="signature" />

<permission android:name="myapp.permission.WRITE"
    android:permissionGroup="myapp.permission-group.MYAPP_DATA"
    android:label="@string/perm_write"
    android:description="@string/perm_write_summary"
    android:protectionLevel="signature" />

И затем есть провайдер:

    <provider
        android:name=".data.DataProvider"
        android:multiprocess="true"
        android:authorities="myapp.data.DataProvider"
        android:readPermission="myapp.permission.READ"
        android:writePermission="myapp.permission.WRITE" />

Прямо сейчас у меня есть нормальный доступ к ContentProvider, и он прекрасно работает.

  1. Почему это работает, если я не применяю <uses-permission>?Разве это не нужно и в приложении, где провайдер объявлен?

  2. Добавление <uses-permission> с моими собственными разрешениями не имеет значения.Разрешения даже не указаны в информации о приложении.Почему?

пс .: да, я читал вопросы здесь, в SO и в группах Google (ответы тоже на Hackborn).Я следовал (как вы можете видеть) тому, что описано везде, но все же ... Вы могли бы сказать, что это работает, но суть именно в том, что я хочу видеть, когда это не так.

1 Ответ

5 голосов
/ 21 августа 2011

Разве это не нужно и в приложении, где провайдер объявлен?

AFAIK, ваше собственное приложение содержит все ваши собственные разрешения, которые вы объявляете.Третьим сторонам потребуется <uses-permission>.

Разрешения даже не указаны в информации о приложении.Почему?

См. Выше.

Можно сказать, что это работает, но суть именно в том, что я хочу видеть, когда это не так.

Напишите другое приложение в своем собственном пакете для проверки ваших разрешений.

...