SecurityException при использовании разрешений на использование

У меня два приложения: App1 и App2

В App1 указано разрешение, подобное этому

<uses-permission android:name="com.commonname.providers.app2.READ_LOGIN_TOKEN" />

В App2 указано такое разрешение

  <uses-permission android:name="com.commonname.providers.app1.READ_LOGIN_TOKEN" />

Я установил приложения по порядку: сначала App1, затем App2. Когда я запускаю App1, я получил SecurityException, например:

 Writing exception to parcel

java.lang.SecurityException: Permission Denial: чтение com.commonname.providers.App1 uri content: //com.commonname.providers.app1/logintoken из pid = 5550, uid = 10919 требует com.commonname.providers.app1.READ_LOGIN_TOKEN, или grantUriPermission () на android.content.ContentProvider.enforceReadPermissionInner (ContentProvider.java:608) на android.content.ContentProvider $ Transport.enforceReadPermission (ContentProvider.java:483) на android.content.ContentProvider $ Transport.query (ContentProvider.java) : 212) в android.content.ContentProviderNative.onTransact (ContentProviderNative.java:112) в android.os.Binder.execTransact (Binder.java:565)

Существует ли способ снова запросить разрешения во время работы приложения? Или другой способ получить большой доступ к этому разрешению, если приложение было установлено первым.

Я прочитал эту статью https://github.com/commonsguy/cwac-security/blob/master/PERMS.md#android-50-behavior и известен в зависимости от порядка установки, но, возможно, каким-то образом существует.


person Oksana    schedule 28.11.2017    source источник


Ответы (1)


Это зависит от вашей версии SDK, если она выше 23, вы должны запросить разрешения во время выполнения.

person Michail Ostryj    schedule 28.11.2017