Android M - настраиваемый стиль диалогового окна разрешения

При реализации новой модели разрешений Android M я заметил, что диалоговое окно разрешений не соответствует теме моего styles.xml.

В моем файле styles.xml я переопределяю стиль диалога и диалога предупреждений следующим образом:

<item name="android:dialogTheme">@style/Theme.dialog</item>
<item name="android:alertDialogTheme">@style/Theme.dialog</item>

Можно ли изменить тему?

Или это потому что это системный диалог как в настройках устройства?


person Thomas R.    schedule 19.08.2015    source источник


Ответы (1)


Нет, это невозможно. Диалоговое окно разрешений — это системный диалог, поэтому вы не можете изменить его тему. :

Предварительная версия M Developer Preview представляет новую модель разрешений приложений, которая упрощает пользователям процесс установки и обновления приложений. Если приложение, работающее в M Preview, поддерживает новую модель разрешений, пользователю не нужно предоставлять какие-либо разрешения при установке или обновлении приложения. Вместо этого приложение запрашивает разрешения по мере необходимости, и система показывает пользователю диалоговое окно с запросом разрешения.

person aga    schedule 19.08.2015
comment
Хорошо, это было мое первое предположение, потому что оно срабатывает из системы. Но я надеялся, что с M есть что-то, чтобы стилизовать диалог разрешений. В конце концов, этот диалог не должен часто появляться пользователю. - person Thomas R.; 19.08.2015
comment
Я предполагаю, что они не хотят, чтобы вы могли возиться с этим, чтобы избежать запутывания с помощью стилей (например, черный текст на черном фоне и т. д.). - person fattire; 24.08.2015
comment
Можете ли вы изменить только сообщение, чтобы оно было более понятным? - person SpyZip; 14.10.2015
comment
@SpyZip нет, есть только один метод requestPermissions(), и он не принимает никаких аргументов, указывающих на диалоговое сообщение/заголовок разрешений и т. д. Вы можете отобразить диалоговое окно обоснования разрешений (developers.google.com/android/guides/) перед диалогом запроса разрешений и добавьте к нему любое сообщение. - person aga; 14.10.2015