【求助】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.
应用并不是在多块屏幕上运行导致的异常,暂时还没有想到解决办法。
扫码服务使用: 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
目前排查相关情况
- 单独拥有扫码服务
libscannative.so
时,不会出现问题; - 项目中单独拥有
libunity.so
, 有问题; - 拥有
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
中正确配置screenDensity
和screenShape
参数。最后,建议在鸿蒙开发者工具中模拟不同分辨率设备进行测试,以确保应用在各种屏幕上的显示效果。