Android M - 自定义权限对话框样式

Tho*_* R. 3 android android-dialog android-permissions android-6.0-marshmallow

在实现新的Android M权限模型时,我注意到权限对话框不尊重styles.xml的主题.

在我的styles.xml中,我覆盖了对话框和alertdialog样式,如下所示:

<item name="android:dialogTheme">@style/Theme.dialog</item>
<item name="android:alertDialogTheme">@style/Theme.dialog</item>
Run Code Online (Sandbox Code Playgroud)

是否有可能改变主题?

或者是因为这是设备设置中的系统对话框?

aga*_*aga 9

不,这是不可能的.权限对话框是系统对话框,因此您无法更改其主题:

M Developer Preview引入了一个新的应用程序权限模型,该模型简化了用户安装和升级应用程序的过程.如果在M预览版上运行的应用程序支持新的权限模型,则用户在安装或升级应用程序时不必授予任何权限.相反,应用程序会根据需要请求权限,系统会向用户显示一个对话框,要求获得权限.

  • @SpyZip nope,只有一个requestPermissions()方法,它不接受任何指向权限对话框消息/标题/等的参数.您可以在"请求权限对话框"之前显示"权限理由对话框"(https://developers.google.com/android/guides/permissions#show_the_permission_rationale),并向其添加您喜欢的任何消息. (2认同)