uni-app 小米手机自动开启暗黑模式问题

uni-app 小米手机自动开启暗黑模式问题

开发环境信息

信息类别 内容
产品分类 uniapp/App
PC开发环境操作系统 Windows
PC开发环境操作系统版本号 win10
HBuilderX类型 正式
HBuilderX版本号 3.1.2
手机系统 Android
手机系统版本号 Android 11
手机厂商 小米
手机机型 红米 Note 7
页面类型 vue
打包方式 云端
项目创建方式 HBuilderX
App下载地址 https://play.google.com/store/apps/details?id=uni.UNIB6CFA1E

示例代码:

"android" : {
/* android打包配置 */
"permissions" : [
"<uses-permission android:name=\"android.permission.ACCESS_COARSE_LOCATION\"/>",
"<uses-permission android:name=\"android.permission.ACCESS_FINE_LOCATION\"/>",
"<uses-permission android:name=\"android.permission.ACCESS_NETWORK_STATE\"/>",
"<uses-permission android:name=\"android.permission.ACCESS_WIFI_STATE\"/>",
"<uses-permission android:name=\"android.permission.CALL_PHONE\"/>",
"<uses-permission android:name=\"android.permission.CHANGE_NETWORK_STATE\"/>",
"<uses-permission android:name=\"android.permission.CHANGE_WIFI_STATE\"/>",
"<uses-permission android:name=\"android.permission.MODIFY_AUDIO_SETTINGS\"/>",
"<uses-permission android:name=\"android.permission.MOUNT_UNMOUNT_FILESYSTEMS\"/>",
"<uses-permission android:name=\"android.permission.READ_LOGS\"/>",
"<uses-permission android:name=\"android.permission.READ_PHONE_STATE\"/>",
"<uses-permission android:name=\"android.permission.VIBRATE\"/>",
"<uses-permission android:name=\"android.permission.WAKE_LOCK\"/>",
"<uses-permission android:name=\"android.permission.WRITE_CONTACTS\"/>",
"<uses-permission android:name=\"android.permission.WRITE_SETTINGS\"/>"
],
"abiFilters" : [ "armeabi-v7a", "arm64-v8a", "x86" ],
"permissionPhoneState" : {
"request" : "none",
"prompt" : "In order to ensure your normal and safe use, you need to obtain the permission to use the device ID (some mobile phones prompt to obtain the mobile phone number). Please allow"
},
"autoSdkPermissions" : true
}

操作步骤:

  • 开始手机暗黑模式
  • 查看APP
  • 暗黑模式下 样式 错乱

预期结果:

  • 开始手机暗黑模式
  • 查看APP
  • 暗黑模式下 还是显示普通模式样式

实际结果:

  • 开始手机暗黑模式
  • 查看APP
  • 暗黑模式下 样式 错乱

bug描述:

根据文档描述,HBuilderX打包生成的App默认已关闭兼容暗黑模式
但是在小米一些手机上还是会显示暗黑模式的样式?
复现手机 redmi 10x pro 、redmi Note 7、小米9 SE


更多关于uni-app 小米手机自动开启暗黑模式问题的实战教程也可以访问 https://www.itying.com/category-93-b0.html

10 回复

嗯 miui系统吗?问题已经了解了 后续会修复该问题

更多关于uni-app 小米手机自动开启暗黑模式问题的实战教程也可以访问 https://www.itying.com/category-93-b0.html


你好,miui系统,3.1.3.20210219-alpha现在手机开深色模式,显示普通样式,是关闭深色模式了吗,怎么手动打开

回复 极星123: 并未适配深色模式 所以暂时不提供

回复 DCloud_Android_ST: 那为啥uniapp的官方基座,在miui系统开深色模式下,可以自动变换深色样式

回复 极星123: 关闭适配深色模式是只更新了打包机处理。后续HX升级默认基座也将关闭

回复 极星123: 我们会考虑提供一个开关 是否关闭

回复 DCloud_Android_ST: 那后续,是否可以让开发者自己手动打开这个配置呢

回复 DCloud_Android_ST: 好的,谢谢

同样的问题,app并没有开启暗黑模式,但是手机开了之后app自动变暗黑模式了,导致页面样式有问题

这个问题是由于小米手机系统强制应用暗黑模式导致的,即使uni-app默认关闭了暗黑模式兼容。解决方案如下:

  1. 在manifest.json中明确禁用暗黑模式:
"app-plus": {
    "android": {
        "uiMode": "nosensor"
    }
}
  1. 或者通过原生配置禁用: 在项目根目录创建nativeplugins/android/AndroidManifest.xml,添加:
<application
    android:forceDarkAllowed="false"
    ...>
</application>
  1. 如果仍无效,可以尝试在页面级强制设置亮色主题:
page {
    background-color: #ffffff !important;
    color: #000000 !important;
}
回到顶部