- 博客(333)
- 收藏
- 关注

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

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

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

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

原创 flutter_easyrefresh 加载多次问题修复
flutter_easyrefresh是一个下拉刷新上拉加载的插件,具体我就不介绍了,这里主要是解决flutter_easyrefresh的bug,主要我在用此插件的时候遇到如下两个问题:①.上拉加载最后的footer不消失②.加载少量数据出现多次加载现象解决方案第一个问题现象如下,就是加载过程中在数据不能占满整个界面的时候footer是不会自动消失的解决方案:加载完成延时一...
2020-04-17 01:32:06
5581
6
原创 OpenHarmony 5.0横竖屏界面适配
由于需要一套代码适配横屏和竖屏设备,所以有些数值的大小可能在竖屏上面适配,在横屏上面不那么适配了,所以需要横屏特殊的数值大小(例如:宽高)
2025-06-04 19:59:14
158
原创 OpenHarmony 5.0中状态栏添加以太网状态栏图标以及功能实现
本文介绍了在OpenHarmony系统中修复以太网接口问题的方案。首先,通过修复以太网卡热插拔事件接口,确保能够正确获取以太网连接状态,并注意避免WiFi和虚拟网口的干扰
2025-05-23 14:51:38
206
原创 OpenHarmony 4.1版本应用升级到5.0版本问题记录及解决方案
此处要注意可以确定globalThis.context是Context类型,不然要在前面在加上判断。然后将上述的在源码中引用的常量修改成自定义的常量。上述都是FA模式下的数据库存储相关的,将。首先在最外层加上如下代码。
2025-05-23 10:12:12
584
原创 OpenHarmony 5.0设置应用设置手势导航开关打开后重新关闭导航栏和设置界面重合
在OpenHarmony 5.0中从设置界面打开手势导航开关然后重新关闭,此时设置界面导航栏和设置列表主界面重合,导致设置界面无法点击最下面的关于设备。首先参考之前的如何设置导航栏文档,我们可以自己再重新设置下导航栏样式及是否显示,然后在设置是否开始手势导航有一个。属性,我们根据这个属性强制显示和隐藏导航栏。
2025-05-20 15:36:16
361
原创 OpenHarmony 5.0应用自定义状态栏和导航栏颜色以及是否显示,如何实现全面屏
/状态栏和导航栏背景颜色//以下两个属性从API Version8开始支持,状态栏和导航栏内容颜色try {});
2025-05-20 15:24:51
210
原创 OpenHarmony 5.0状态栏息屏状态下充电然后亮屏会出现电量跳变情况
是由于有一个策略导致在息屏状态下会关闭对底层的电量监听,然后在亮屏状态下在打开此监听,所以导致在亮屏状态下会有电池电量跳变情况。在OpenHarmony 5.0中在息屏状态下充电一段时间突然亮屏,状态栏的电量会出现跳变情况。
2025-05-18 20:50:17
174
原创 OpenHarmony SIM卡信号值整体流程分析
会调用到 ProcessCurrentCell函数,此函数其实是根据当前不同的网络制式进行不同的函数调用,如下就是我们当前的sim卡是5g的并且我们也在设置中设置的是5g的网络制式的调用流程。这里可以看出来是有vendorlib中at_support的日志打印,这里的日志可以看出来当前的信号值是-97,这块是的实现一般是厂商实现的,所以一般是闭源的,我这边的路径是在。其实从架构图上面可以看出来at_network.c应该是在vendorlib中,所以应该是闭源的,闭源代码位置和上述所说的位置一致。
2025-05-18 20:42:44
628
原创 OpenHarmony 以太网卡热插拔事件接口无效
在OpenHarmony中,开发者发现以太网热插拔事件未触发回调,原因是相关napi接口未正确设置env参数。具体表现为,使用ethernet.on('interfaceStateChange', callback)监听接口状态变化时,未收到任何回调。通过分析代码,发现问题出在ethernet_module.cpp文件中,RegisterEthernetInterface函数未调用NapiUtils::SetEnvValid(env)方法,导致环境参数未生效。解决方案是在该函数中添加NapiUtils::S
2025-05-09 20:37:30
217
原创 鸿蒙应用安装报错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
317
原创 OpenHarmony 5.0 联系人界面会显示所有人的通话记录
在保存陌生号码保存在联系人里面,然后点击当前保存的联系人可以看见当前的联系人上面的通话记录,然后切换到其他没有存号码的联系人也能看见通话记录,应该是看不见通话记录。
2025-05-08 13:58:35
59
原创 OpenHarmony 5.0 切换已连接过的wifi切换失败
当然上述的方案是可以实现切换连接的,但是切换过程发现点击连接的那个wifi没有在连接列表的第一个,看起来好像连接过程有点奇怪,如果需要将wifi切换过程中点击连接的那个wifi进行置顶,可以合入如下的patch。虽然上述流程看起来没啥问题,其实上面的代码可以保证我们在连接另一个wifi的时候当前wifi已经断开了吗,其实是不能保证的,所以我们需要让其在真正断开wifi连接的时候再进行wifi连接。
2025-05-08 11:41:39
499
原创 OpenHarmony 5.0 通讯录不能通过首字母或者全拼来匹配联系人
在OpenHarmony 5.0中通讯录是无法通过首字母或者全拼来匹配联系人的,也就是无法通过首字母或者全拼来搜索到联系人。
2025-04-25 11:34:12
116
原创 错误码code:9568282 error: install releaseType target not same怎么处理?
当前是由于应用从4.1版本升级到5.0版本,然后安装应用会报错9568282 ,如果签名是一致的,则是版本不一致导致的。升级更高的版本,这样就可以覆盖安装了,如下。
2025-04-11 16:59:13
68
原创 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
251
原创 鸿蒙5.0 非桌面页面,设备来电后挂断,自动返回桌面
可以看出来任务栈中新增了一个任务栈,里面放的是接打电话的应用,并且此接打电话的应用任务栈置于前台,而音乐app的任务栈被置为后台,所以此时音乐app已经在后台了,所以看到的现象是挂断电话后返回桌面,其实此时电话应用的下一层就是桌面了。其实在Android上面打开一个应用,然后设备来电后挂断应该是返回到前面打开的这个应用的,但是在鸿蒙里面现象是直接返回桌面,设计如此。答案是可行的,但是效果不理想,会有一个从接打电话的app到桌面再到音乐app的过程,体验不好,
2025-04-10 09:49:50
290
原创 OpenHarmony 5.0 拨号键盘自定义暗码启动其他应用
有一个需求,需要自己写一个隐藏的应用,然后又不能让客户看到,需要在拨号盘输入特定的暗码进入此应用。上述就是截取*#*#到#*#*中间的数字,然后如下是对数字进行处理。处理module.json5文件,修改skills中的数数组。然后如果符合当前的暗码进行处理。constacts中。
2025-03-13 19:59:45
136
原创 OpenHarmony项目的应用在DevEco Studio配置项目中固定的一键签名
由于手动签名需要在DevEco Studio中将应用先编译出未签名的包,然后在手动签名这个未签名出来的包,步骤比较繁琐,所以考虑直接在DevEco Studio中配置签名可以进行一键安装。如上配置完成就可以一键安装了,并且和自动签名相比签名不会变化,后续可以将代码上传,其他小伙伴无需任何配置,直接可以一键安装了。上述可以看出来有四个步骤,然后第二步生成的 certChain 步骤中后缀名改成.cer。上面步骤会生成fctTest.cer 签名文件。
2025-03-13 17:06:16
255
原创 鸿蒙(openharmony) 5.0 光感接口崩溃
【代码】鸿蒙(openharmony) 5.0 光感接口崩溃。返回的值是undefined
2025-02-13 19:28:57
116
1
原创 鸿蒙面试题
该工具可以监测性能、功耗相关指标,包括FPS、CPU、GPU、RAM、Temp等,通过量化的指标项了解应用、整机性能状况。随机测试是指随机测试界面内容,支持的能力包括:shell启动、拉起整机应用、多种注入方式、设置随机种子、打印运行日志和生成报告。HSP(Harmony Shared Package)是动态共享包,可以包含代码、C++库、资源和配置文件,通过HSP可以实现代码和资源的共享。HAP包是由代码、资源、第三方库、配置文件等打包生成的模块包,其主要分为两种类型:entry和feature。
2025-02-13 16:59:17
887
原创 oh5.0调用soundPool.play接口报错5400102
应用层由于加载音频流程没走完,所以就是播放音频的时候需要延时一下,就是把上面的setTimeout给放开就行了,不过不推荐这种修改,如果无法修改Framework源码,那只能这样修改。上述的方法调用在创建音频池和加载音频中都成功了,但是最后播放音频报错了,错误码为5400102,这个错误码的意思是不能被允许的。其实就是加载音频的流程没有完成就调用了播放音频的方法,所以有两个解决方案。
2025-02-10 19:17:51
328
原创 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
288
原创 Oh3.2项目升级到Oh5.0(鸿蒙Next)具体踩坑记录二
然后继续记录踩坑,如下开始是代码中报错,主要是3.2中的一些api在5.0中不支持,所以要进行修改。
2025-02-05 19:44:52
281
原创 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
694
原创 Android 13 电池电量以及通知控制指示灯逻辑源码流程分析
BatteryService:电池服务,根据电池相关逻辑调用了灯控制相关逻辑config.xml:灯闪烁频率以及灯的颜色控制NotificationManagerService:通知管理服务,根据是否有通知以及通知的类别控制相关led灯的闪烁LightsService:灯相关的服务,内部类LightImpl调用灯控制流程,用于其他服务调用灯控制统一管理lights.cpp:灯控制的native层最终实现,调用节点控制灯逻辑。
2025-01-27 16:33:38
187
原创 Android 12 vpn 连接流程
ConfigDialogFragment:Vpn配置相关的弹窗界面。AppManagementFragment:Vpn连接的弹窗界面。VpnSettings:显示Vpn界面的。
2025-01-16 20:23:55
403
原创 Android 13 14 vpn中怎么实现pptp和l2tp模式
上面的日志其实已经说明我们客户端的Vpn已经和服务端连接成功了,但是pppd进程和Vpn进程状态没有同步,pppd进程其实已经告诉我们成功连接了,Vpn进程应该是读取超时,然后得到的是Vpn连接失败的状态,这点也可以从Vpn的打印日志和pppd的打印日志相差40s中看出来。可以看出来android 12中指定了路径,android 13中没有指定路径,所以执行脚本的地方就找不到这个脚本,然后我们把android 12的mk文件拷贝过来就行了,这样整个流程就通了。
2025-01-16 17:21:20
3139
原创 Caused by: java.lang.NullPointerException: Attempt to get length of null array
由于是客户的后台系统监控到crash报错,所以可能存在日志不全的情况下,然后日志不全一般我们都不会继续排查了,其实日志不全也可以继续排查的,错误日志如下:关键点:Caused by: java.lang.NullPointerException: Attempt to get length of null arrayat com.android.quickstep.GestureState.(Unknown Source:0)
2025-01-08 10:49:21
150
原创 刷入super镜像报错 FAILED (remote: ‘Error: Last flash failed : Volume Full‘)
可以看出来第二次刷入的底包super的大小为2203648,第一次刷入的底包super的大小为1900544,然后我们在看下分区提交记录那笔的diff。可以看出来时间点是在12月17号有提交,但是我们上述刷入的底包时间是11月27号,说明那个底包是在这笔提交之前的,所以前后分区大小不一致。由于是底包的分区大小和源码中的super镜像分区大小不一致导致的,我们就搜索下这个项目最近有没有一些分区的调整,直接搜索“分区”查看下。可以看见是有12月19号的底包的,然后我们先刷入这个底包,在刷入镜像尝试。
2025-01-02 20:06:49
761
原创 android 外挂modem模块实现Telephony相关功能(上网,发短信,打电话)
android 外挂modem模块实现Telephony相关功能(上网,发短信,打电话)
2025-01-01 21:36:24
582
原创 鸿蒙 log抓取
一般场景我们可以通过DevEco Studio来抓取日志,但是现在有一个这个场景,设备在出问题期间是连接不上电脑的,无法抓取实时日志,这时候我们就需要让设备在本地抓取日志。则需要重新启动设备就可以开启日志抓取了。如下是指令执行成功后的效果。然后就开始抓取日志了。
2024-12-24 14:27:27
702
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关注的人