Уровень защиты прав Android «нормальный» никогда не предоставляется - PullRequest
0 голосов
/ 21 марта 2019

При тестировании Android API 28 я сталкивался с ошибкой: всякий раз, когда приложение, определившее пользовательское разрешение с нормальным уровнем защиты, удаляется, все остальные приложения, которые не определяют это разрешение, но запрашивают его в манифесте, никогда не перезаписываются.-предоставил это разрешение даже после перезагрузки системы (и удивительно, даже если это приложение переопределило такое разрешение!).Опасные разрешения могут быть повторно предоставлены через приглашение пользователя, а разрешения для подписи автоматически предоставляются автоматически, как обычно.Это ожидаемое поведение или оно необычное?

EVENT: Applications installed (in-order) : App1, App2, App3

App1's Manifest: <permission android:name="X"
    android:protectionLevel="signature"/>
<permission android:name="Y/>
<permission android:name="Z"
    android:protectionLevel="dangerous"/>

<uses-permission android:name="X"/>
<uses-permission android:name="Y"/>
<uses-permission android:name="Z"/>

App1's request: requestPermissions(new String[] "Z"},1);

App1's permissions granted : X,Y & Z are granted (Z after user-prompt)

////////////////////////////////////////////////

App2's Manifest: <permission android:name="X"
    android:protectionLevel="signature"/>
<permission android:name="Y/>
<permission android:name="Z"
    android:protectionLevel="dangerous"/>

<uses-permission android:name="X"/>
<uses-permission android:name="Y"/>
<uses-permission android:name="Z"/>

App2's request: requestPermissions(new String[]{"Z"},1);

App2's permissions granted: X, Y & Z (Z after user-prompt)
////////////////////////////////////////////////
App3's manifest:
<uses-permission android:name="X"/>
<uses-permission android:name="Y"/>
<uses-permission android:name="Z"/>

App3's request: requestPermissions(new String[]{"Z"},1);

App3's permissions granted: X, Y & Z (Z after user-prompt)
////////////////////////////////////////////////
EVENT: Uninstalled App1
////////////////////////////////////////////////
App2 Permissions Granted: X & Z (Z after user-prompt; permission Y not 
granted even if this application re-defines it, and the permission Y exists 
on device - checked via "pm list permissions")
////////////////////////////////////////////////
App3 Permissions Granted: X & Z (Z after user-prompt; permission Y not 
granted even if the permission Y exists on device - checked via 
"pm list permissions")
////////////////////////////////////////////////

Так это ожидаемое поведение от ОС Android?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...