自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

龚礼鹏的博客

有所学习,有所思考,有所总结,一起进步

  • 博客(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

原创 aidl callback为空

2.是Callback中实现了asBinder导致的。1.callback后面没有带stub。

2025-06-04 16:38:43 111

原创 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 14:00:44 276

原创 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 框架层电池相关重要类解析

此处就是应用层获取电池电量和充电状态的数据,然后我们继续看下是如何调用Framework层的。

2025-03-19 19:55:06 265

原创 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

原创 OpenHarmony 源码单编流程

本章节介绍如何在OpenHarmony源码中进行hap的单编工作,这样可以大大提升我们的效率。

2025-02-10 19:39:16 107

原创 oh5.0调用soundPool.play接口报错5400102

应用层由于加载音频流程没走完,所以就是播放音频的时候需要延时一下,就是把上面的setTimeout给放开就行了,不过不推荐这种修改,如果无法修改Framework源码,那只能这样修改。上述的方法调用在创建音频池和加载音频中都成功了,但是最后播放音频报错了,错误码为5400102,这个错误码的意思是不能被允许的。其实就是加载音频的流程没有完成就调用了播放音频的方法,所以有两个解决方案。

2025-02-10 19:17:51 328

原创 OpenHarmony 5.0无法监听按键

上述的方式也是监听不到。

2025-02-06 17:24:22 258

原创 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部分,注意此处是解压替换的路径和之前的不一致

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部分

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部分

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部分

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部分

OpenHarmony 5.1.0 full sdk公版的toolchains-windows-x64-5.1.0.107-Release部分

2025-05-23

SIM卡相关压测工具使用

SIM卡相关压测工具使用

2024-08-13

Android 13 Settings蓝牙列表卡顿问题排查及优化过程

Android 13 Settings蓝牙列表卡顿问题排查及优化过程

2023-12-07

Android 13 Settings蓝牙列表卡顿问题排查及优化过程

Android 13 Settings蓝牙列表卡顿问题排查及优化过程

2023-12-07

Android 13 Launcher界面-移除桌面的删除和卸载功能

Android 13 Launcher界面-移除桌面的删除和卸载功能

2023-08-08

TextField演示效果

TextField演示效果

2023-07-14

framework.jar

framework.jar

2023-05-30

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除