- 博客(338)
- 资源 (11)
- 收藏
- 关注

原创 Android 13 骁龙相机点击拍照流程分析(二)——点击拍照到存入相册
Android 13 骁龙相机点击拍照流程分析(一)——点击拍照到更新到左下角缩略图-CSDN博客。
2023-10-09 16:39:42
1569

原创 OpenHarmony与HarmonyOS联系与区别
HarmonyOS 是华为是基于 OpenHarmony、AOSP等开源项目开发的面向多种全场景智能设备的商用版本,所以HarmonyOS包含OpenHarmony,如果将OpenHarmony理解成地基,则HarmonyOS则是在这个地基基础上修建的精装房。开篇就说“关于‘鸿蒙操作系统’,由于缺乏规范的表述和统一的口径,导致内部理解不一致、对外说法不一致,容易引起混淆,所以此篇是专门说一下OpenHarmony与HarmonyOS的区别的。当我们在说“鸿蒙”的时候,也许就是指鸿蒙生态。
2023-07-21 16:04:54
17019
6

原创 001 Android13将Settings移植到AndroidStudio中(一)
首先环境,最好用我上面的AndroidStudio版本及gradle配置将代码整编得到out产物如下图内容复制到AndroidStudio的Settings对应目录下面复制后对应的Settings项目中如下:注意values可以按照需要保存相应的文件夹,我这边是只保留默认的values和中文的values的其实这些步骤也可以放到最后将所有模块导入差不多了在做Settings模块,不然会有很多报错,这里我暂时不说Settings的gradle配置的了,这些都放到最后来说。
2023-05-24 16:12:39
2354
7

原创 一篇文章彻底理解自定义View
对应标签。容易引起oom继承系统的TextView,实现在文字中间加一条横线}}}}) {canvas?}}可以看见文字中间是有一条横线的①.简单实现一个矩形的绘制}}}}) {canvas?}}添加自定义属性,添加自定义背景色先在values目录下面创建attrs.xml,添加自定义属性然后在代码中获取自定义属性,注意获取的资源要回收}//获取自定义属性对应的组名称//获取自定义属性//注意资源需要回收}}}
2022-12-02 17:37:45
1723

原创 flutter_easyrefresh 加载多次问题修复
flutter_easyrefresh是一个下拉刷新上拉加载的插件,具体我就不介绍了,这里主要是解决flutter_easyrefresh的bug,主要我在用此插件的时候遇到如下两个问题:①.上拉加载最后的footer不消失②.加载少量数据出现多次加载现象解决方案第一个问题现象如下,就是加载过程中在数据不能占满整个界面的时候footer是不会自动消失的解决方案:加载完成延时一...
2020-04-17 01:32:06
5591
6
原创 OpenHarmony 5.0 SIM卡信号格没有变化解决方案(修改成符合标准的信号变化)
针对OpenHarmony5.0设备信号格显示异常问题(仅显示满格或无信号两种状态),本文提出修改方案。通过分析信号传递流程(modem→vendorlib→hril→应用层),参照4G/5G和2G/3G网络信号强度标准(如4G/5G满格阈值为≥-97dBm),对开源部分hril中的信号阈值参数进行调整。修改涉及GSM/CDMA/WCDMA等网络类型的信号强度阈值数组,使其符合标准规范
2025-07-04 15:38:32
4
原创 OpenHarmony 5.0 解决点击导航栏切换后台按钮再切换到前台导航栏可能覆盖输入法问题,导致输入法下沉,最下面的显示不全
但是这个是有一个问题的 悬浮态的输入法其他应用监听不到当前输入法是否打开,所以会造成其他应用无法避让输入法,比如dialog无法感知输入法,这样就无法根据输入法打开状态进行避让(缩小),所以此方案不可行,或者所有应用都无需避让,则可以使用此方案。在打开输入法的情况下然后点击导航栏将当前应用切换到后台,然后在切换到前台,如果此时该应用还在获取焦点并使得输入法还存在界面中,则会出现输入法下沉,底部显示不全,被导航栏覆盖的情况。②.监听当前导航栏是否显示的状态进行输入法的移动操作。
2025-07-02 20:39:00
125
原创 OpenHarmony 5.0 web组件输入法弹出导致闪现桌面或者多次操作卡主桌面现象
【摘要】在HarmonyOS开发中,Web组件默认采用异步渲染(RenderMode.ASYNC_RENDER)会导致尺寸变化时闪现桌面背景。分析发现同步渲染会破坏功能,设置背景无效。解决方案分场景处理:1.输入法场景通过keyboardAvoidMode(RESIZE_VISUAL)固定高度,配合输入法显示/隐藏监听动态调整内容;2.其他场景直接固定组件尺寸。该方案既避免了重绘闪屏,又确保了功能正常,需根据不同机型灵活适配组件宽高。
2025-06-15 17:10:39
51
原创 OpenHarmony 5.0读取文件并写入到另一份文件(公共文件夹),并保持原先的格式以及编码类型
《保持编码格式的文件复制实现方案》 摘要:本文介绍了在HarmonyOS系统中实现文件精确复制的方法,通过字节流操作确保原始文件的编码类型和格式保持不变。方案采用NONBLOCK模式读取源文件缓冲区,使用APPEND模式写入目标文件。具体流程包括:1)以READ_ONLY|NONBLOCK方式打开文件;2)读取文件字节流到ArrayBuffer;3)在公共目录创建时间戳命名的子目录和新文件;4)将缓冲区内容写入目标文件。完整实现代码展示了文件访问助手(FileAccessHelper)的使用、缓冲区读写操作
2025-06-15 14:11:35
218
原创 OpenHarmony 5.0横竖屏界面适配
由于需要一套代码适配横屏和竖屏设备,所以有些数值的大小可能在竖屏上面适配,在横屏上面不那么适配了,所以需要横屏特殊的数值大小(例如:宽高)
2025-06-04 19:59:14
189
原创 OpenHarmony 5.0中状态栏添加以太网状态栏图标以及功能实现
本文介绍了在OpenHarmony系统中修复以太网接口问题的方案。首先,通过修复以太网卡热插拔事件接口,确保能够正确获取以太网连接状态,并注意避免WiFi和虚拟网口的干扰
2025-05-23 14:51:38
218
原创 OpenHarmony 4.1版本应用升级到5.0版本问题记录及解决方案
此处要注意可以确定globalThis.context是Context类型,不然要在前面在加上判断。然后将上述的在源码中引用的常量修改成自定义的常量。上述都是FA模式下的数据库存储相关的,将。首先在最外层加上如下代码。
2025-05-23 10:12:12
614
2
原创 OpenHarmony 5.0设置应用设置手势导航开关打开后重新关闭导航栏和设置界面重合
在OpenHarmony 5.0中从设置界面打开手势导航开关然后重新关闭,此时设置界面导航栏和设置列表主界面重合,导致设置界面无法点击最下面的关于设备。首先参考之前的如何设置导航栏文档,我们可以自己再重新设置下导航栏样式及是否显示,然后在设置是否开始手势导航有一个。属性,我们根据这个属性强制显示和隐藏导航栏。
2025-05-20 15:36:16
387
2
原创 OpenHarmony 5.0应用自定义状态栏和导航栏颜色以及是否显示,如何实现全面屏
/状态栏和导航栏背景颜色//以下两个属性从API Version8开始支持,状态栏和导航栏内容颜色try {});
2025-05-20 15:24:51
244
原创 OpenHarmony 5.0状态栏息屏状态下充电然后亮屏会出现电量跳变情况
是由于有一个策略导致在息屏状态下会关闭对底层的电量监听,然后在亮屏状态下在打开此监听,所以导致在亮屏状态下会有电池电量跳变情况。在OpenHarmony 5.0中在息屏状态下充电一段时间突然亮屏,状态栏的电量会出现跳变情况。
2025-05-18 20:50:17
182
原创 OpenHarmony SIM卡信号值整体流程分析
会调用到 ProcessCurrentCell函数,此函数其实是根据当前不同的网络制式进行不同的函数调用,如下就是我们当前的sim卡是5g的并且我们也在设置中设置的是5g的网络制式的调用流程。这里可以看出来是有vendorlib中at_support的日志打印,这里的日志可以看出来当前的信号值是-97,这块是的实现一般是厂商实现的,所以一般是闭源的,我这边的路径是在。其实从架构图上面可以看出来at_network.c应该是在vendorlib中,所以应该是闭源的,闭源代码位置和上述所说的位置一致。
2025-05-18 20:42:44
638
原创 OpenHarmony 以太网卡热插拔事件接口无效
在OpenHarmony中,开发者发现以太网热插拔事件未触发回调,原因是相关napi接口未正确设置env参数。具体表现为,使用ethernet.on('interfaceStateChange', callback)监听接口状态变化时,未收到任何回调。通过分析代码,发现问题出在ethernet_module.cpp文件中,RegisterEthernetInterface函数未调用NapiUtils::SetEnvValid(env)方法,导致环境参数未生效。解决方案是在该函数中添加NapiUtils::S
2025-05-09 20:37:30
225
原创 鸿蒙应用安装报错se try to match the APl version of thedevice and the app. The current device doesnot 解决方案
在安装应用的时候报如下错误edCore其实这个报错是当前的DevEco Studio版本过高,hap应用的版本较低导致的,但是其实生成了hap包,所以有三个方案解决。
2025-05-09 20:11:40
410
原创 OpenHarmony 5.0 联系人界面会显示所有人的通话记录
在保存陌生号码保存在联系人里面,然后点击当前保存的联系人可以看见当前的联系人上面的通话记录,然后切换到其他没有存号码的联系人也能看见通话记录,应该是看不见通话记录。
2025-05-08 13:58:35
70
原创 OpenHarmony 5.0 切换已连接过的wifi切换失败
当然上述的方案是可以实现切换连接的,但是切换过程发现点击连接的那个wifi没有在连接列表的第一个,看起来好像连接过程有点奇怪,如果需要将wifi切换过程中点击连接的那个wifi进行置顶,可以合入如下的patch。虽然上述流程看起来没啥问题,其实上面的代码可以保证我们在连接另一个wifi的时候当前wifi已经断开了吗,其实是不能保证的,所以我们需要让其在真正断开wifi连接的时候再进行wifi连接。
2025-05-08 11:41:39
510
原创 OpenHarmony 5.0 通讯录不能通过首字母或者全拼来匹配联系人
在OpenHarmony 5.0中通讯录是无法通过首字母或者全拼来匹配联系人的,也就是无法通过首字母或者全拼来搜索到联系人。
2025-04-25 11:34:12
125
原创 错误码code:9568282 error: install releaseType target not same怎么处理?
当前是由于应用从4.1版本升级到5.0版本,然后安装应用会报错9568282 ,如果签名是一致的,则是版本不一致导致的。升级更高的版本,这样就可以覆盖安装了,如下。
2025-04-11 16:59:13
80
原创 Openharmony 5.0 接听电话,手机靠近耳朵后拿开,挂断电话,设备自动锁屏
power_manager的service(runinglock_lock_mgr.cpp灭屏入口)——》device_state_action.cpp(此处判断是否走锁屏逻辑)——》window_manager的dmsserver模块(display_manager_service.cpp)——》screenlock_mgr的services模块(screenlock_system_ability.cpp)——》screenlock hap。中间流程省略,直接到如下流程。
2025-04-11 16:41:51
266
原创 鸿蒙5.0 非桌面页面,设备来电后挂断,自动返回桌面
可以看出来任务栈中新增了一个任务栈,里面放的是接打电话的应用,并且此接打电话的应用任务栈置于前台,而音乐app的任务栈被置为后台,所以此时音乐app已经在后台了,所以看到的现象是挂断电话后返回桌面,其实此时电话应用的下一层就是桌面了。其实在Android上面打开一个应用,然后设备来电后挂断应该是返回到前面打开的这个应用的,但是在鸿蒙里面现象是直接返回桌面,设计如此。答案是可行的,但是效果不理想,会有一个从接打电话的app到桌面再到音乐app的过程,体验不好,
2025-04-10 09:49:50
296
原创 OpenHarmony 5.0 拨号键盘自定义暗码启动其他应用
有一个需求,需要自己写一个隐藏的应用,然后又不能让客户看到,需要在拨号盘输入特定的暗码进入此应用。上述就是截取*#*#到#*#*中间的数字,然后如下是对数字进行处理。处理module.json5文件,修改skills中的数数组。然后如果符合当前的暗码进行处理。constacts中。
2025-03-13 19:59:45
142
原创 OpenHarmony项目的应用在DevEco Studio配置项目中固定的一键签名
由于手动签名需要在DevEco Studio中将应用先编译出未签名的包,然后在手动签名这个未签名出来的包,步骤比较繁琐,所以考虑直接在DevEco Studio中配置签名可以进行一键安装。如上配置完成就可以一键安装了,并且和自动签名相比签名不会变化,后续可以将代码上传,其他小伙伴无需任何配置,直接可以一键安装了。上述可以看出来有四个步骤,然后第二步生成的 certChain 步骤中后缀名改成.cer。上面步骤会生成fctTest.cer 签名文件。
2025-03-13 17:06:16
266
原创 鸿蒙(openharmony) 5.0 光感接口崩溃
【代码】鸿蒙(openharmony) 5.0 光感接口崩溃。返回的值是undefined
2025-02-13 19:28:57
118
1
原创 鸿蒙面试题
该工具可以监测性能、功耗相关指标,包括FPS、CPU、GPU、RAM、Temp等,通过量化的指标项了解应用、整机性能状况。随机测试是指随机测试界面内容,支持的能力包括:shell启动、拉起整机应用、多种注入方式、设置随机种子、打印运行日志和生成报告。HSP(Harmony Shared Package)是动态共享包,可以包含代码、C++库、资源和配置文件,通过HSP可以实现代码和资源的共享。HAP包是由代码、资源、第三方库、配置文件等打包生成的模块包,其主要分为两种类型:entry和feature。
2025-02-13 16:59:17
938
原创 oh5.0调用soundPool.play接口报错5400102
应用层由于加载音频流程没走完,所以就是播放音频的时候需要延时一下,就是把上面的setTimeout给放开就行了,不过不推荐这种修改,如果无法修改Framework源码,那只能这样修改。上述的方法调用在创建音频池和加载音频中都成功了,但是最后播放音频报错了,错误码为5400102,这个错误码的意思是不能被允许的。其实就是加载音频的流程没有完成就调用了播放音频的方法,所以有两个解决方案。
2025-02-10 19:17:51
333
原创 OH 5.0中设置full sdk
首先在DevEco Studio Next版本里面没有设置HarmonyOS的sdk位置,都是默认设置的public sdk,然后我们需要将HarmonyOS设置改成OpenHarmony设置,并且将full sdk放在对应OpenHarmony sdk的位置上,让其可以使用full sdk。其他位置的runtimeOS也改成OpenHarmony即可。然后我们就可以正确的使用full sdk了。
2025-02-06 10:55:58
308
原创 Oh3.2项目升级到Oh5.0(鸿蒙Next)具体踩坑记录二
然后继续记录踩坑,如下开始是代码中报错,主要是3.2中的一些api在5.0中不支持,所以要进行修改。
2025-02-05 19:44:52
304
原创 Oh3.2项目升级到Oh5.0(鸿蒙Next)具体踩坑记录(一)
我们将3.2的项目放在5.0的sdk以及deveco studio next上面的运行结果首先是报错如下:这里我们直接点击Migrate Assistant让他自动修复然后会让你选择当前版本,如果是5.0就选择5.0,如果是5.1就选择5.1,如下:点击migrate,我这里已经点击过了然后会继续报错如下:这里我们继续点击Auto-fix 让其自动修复。
2025-02-05 13:22:12
731
原创 Android 13 电池电量以及通知控制指示灯逻辑源码流程分析
BatteryService:电池服务,根据电池相关逻辑调用了灯控制相关逻辑config.xml:灯闪烁频率以及灯的颜色控制NotificationManagerService:通知管理服务,根据是否有通知以及通知的类别控制相关led灯的闪烁LightsService:灯相关的服务,内部类LightImpl调用灯控制流程,用于其他服务调用灯控制统一管理lights.cpp:灯控制的native层最终实现,调用节点控制灯逻辑。
2025-01-27 16:33:38
195
原创 Android 12 vpn 连接流程
ConfigDialogFragment:Vpn配置相关的弹窗界面。AppManagementFragment:Vpn连接的弹窗界面。VpnSettings:显示Vpn界面的。
2025-01-16 20:23:55
443
OpenHarmony 5.1.0 full sdk公版的previewer-windows-x64-5.1.0.107-Release部分,注意此处是解压替换的路径和之前的不一致
2025-05-23
OpenHarmony 5.1.0 full sdk公版的js-windows-x64-5.1.0.107-Release部分
2025-05-23
OpenHarmony 5.1.0 full sdk公版的ets-windows-x64-5.1.0.107-Release部分
2025-05-23
OpenHarmony 5.1.0 full sdk公版的native-windows-x64-5.1.0.107-Release部分
2025-05-23
OpenHarmony 5.1.0 full sdk公版的toolchains-windows-x64-5.1.0.107-Release部分
2025-05-23
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人