HarmonyOS 鸿蒙Next应用内设置深浅色crash

发布于 1周前 作者 gougou168 来自 鸿蒙OS

HarmonyOS 鸿蒙Next应用内设置深浅色crash

  1. 应用内按钮调用 this.context.getApplicationContext().setColorMode(ConfigurationConstant.ColorMode.COLOR_MODE_DARK) crash

RN通过turbomoudle发送通知,报错:

Reason: TypeError

Error name: TypeError

Error message: Cannot read property devToolsController of undefined

  1. 当前colormode是COLOR_MODE_NOT_SET情况下,RN如何获取当前系统的color是黑的还是白的

更多关于HarmonyOS 鸿蒙Next应用内设置深浅色crash的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html

2 回复

因为没有详细demo,可以按照试例工程看看,我这边用试例工程验证OK
https://gitee.com/openharmony-sig/ohos_react_native/tree/0.72.5-ohos-5.0-release/docs/Samples/Sample

试例工程里面的
test函数可以实现点击RN实现arkts的背景色修改,不会crash

getContext().getApplicationContext().setColorMode(ConfigurationConstant.ColorMode.COLOR_MODE_DARK)

试例工程里面的AppearanceTest.tsx文件里面存在

  1. 获取主题色:Appearance.getColorScheme()
  2. 监听主题切换:Appearance.addChangeListener
  3. 主动设置主题色:Appearance.setColorScheme(‘dark’)。未主动设置主题色或者设置为null时,getColorScheme获取到的是系统设置中的主题色。
  4. 根据不同主题自定义想要的样式。

更多关于HarmonyOS 鸿蒙Next应用内设置深浅色crash的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


针对帖子标题“HarmonyOS 鸿蒙Next应用内设置深浅色crash”的问题,以下是专业回答:

在HarmonyOS系统中,若应用内设置深浅色模式时出现崩溃(crash),可能涉及以下几个方面的原因:

  1. 系统兼容性问题:确保你的应用已适配当前版本的HarmonyOS系统。系统更新可能引入新的API或更改现有API的行为,导致旧代码崩溃。

  2. 代码实现错误:检查深浅色模式切换的逻辑实现,确保在切换过程中没有访问无效资源或执行非法操作。

  3. 资源文件缺失:深浅色模式需要对应的资源文件支持,如day/night主题下的布局、颜色等。确保所有必要的资源文件都已正确配置。

  4. 第三方库冲突:如果应用使用了第三方库,检查这些库是否支持当前的HarmonyOS版本,以及是否存在已知的深浅色模式兼容性问题。

  5. 内存泄漏或资源未释放:长时间运行或频繁切换深浅色模式可能导致内存泄漏或资源未正确释放,进而引发崩溃。

解决这类问题通常需要具体分析崩溃日志,定位到具体的代码行或资源文件。如果问题依旧没法解决,请联系官网客服,官网地址是:

回到顶部