【求助】HarmonyOS鸿蒙Next中智能分辨率导致适配问题

【求助】HarmonyOS鸿蒙Next中智能分辨率导致适配问题 手机开启智能分辨率后,app中调用扫码,或者调用unity模块会抛出异常,目前在华为Nova8 pro,荣耀V20上有遇到这问题,在P50 pro上没有出现问题,系统,HMS Core均为最新版本;

报错描述:

I/Presentation: Presentation is being dismissed because the display metrics have changed since it was created.

应用并不是在多块屏幕上运行导致的异常,暂时还没有想到解决办法。

9 回复

扫码服务使用: https://pub.dev/packages/scan/example
unity模块使用最简unity模块即可复现bug: https://pub.dev/packages/flutter_unity_widget

更多关于【求助】HarmonyOS鸿蒙Next中智能分辨率导致适配问题的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


目前排查相关情况

  1. 单独拥有扫码服务 libscannative.so 时,不会出现问题;
  2. 项目中单独拥有 libunity.so, 有问题;
  3. 拥有 libunity.so 时,会导致扫码服务 libscannative.so 不能使用;

目前找到是在Androidmanifest.xml中设置了android:extractNativeLibs="true"引起的这个问题;

目前找到两个解决方案:

方案一:进入设置=>显示和亮度=屏幕分辨率中取消分辨率勾选智能模式;

方案二:在Androidmanifest.xml中,在application设置中取消android:extractNativeLibs="true的设置;

很喜欢HarmonyOS的卡片式设计,信息一目了然,操作也更便捷。

具体原因是啥 清楚吗? 因为官方文档对 android:extractNativeLibs 的描述,只是会对包体有影响,不应该会影响到分辨率? 我开发也遇到这个问题,但是又不想增大包体。还一直没找到方法。

还不清楚

欢迎开发小伙伴们进来帮帮楼主

在HarmonyOS鸿蒙Next中,智能分辨率功能可能会引发应用适配问题。智能分辨率旨在根据设备屏幕尺寸和用户设置动态调整显示内容,但可能导致应用布局错乱或显示异常。开发者需在config.json中配置"resizeable"属性为true,并确保应用支持多种分辨率。同时,使用ohos.mediaquery模块监听屏幕变化,动态调整UI布局。建议使用ohos.display模块获取屏幕信息,确保应用在不同设备上正常显示。

在HarmonyOS鸿蒙Next中,智能分辨率功能可能会引发应用界面适配问题。建议您首先检查应用的布局文件,确保使用相对布局(RelativeLayout)或约束布局(ConstraintLayout)以适应不同屏幕尺寸。其次,利用鸿蒙提供的资源限定符(如res/values-sw600dp)为不同分辨率提供适配资源。此外,确保在config.json中正确配置screenDensityscreenShape参数。最后,建议在鸿蒙开发者工具中模拟不同分辨率设备进行测试,以确保应用在各种屏幕上的显示效果。

回到顶部