- 博客(290)
- 收藏
- 关注
原创 openHarmony添加system_basic权限安装报错
3.修改apl字段为system_basic或者在allowed-acls中加入需要申请的权限,如下是方便演示我将两处都修改了。2.然后找到对应的openHarmony 的SDK路径,如下记得要切换成OpenHarmony。5.然后进行自动签名,注意此处不要勾选Support HarmonyOS,只要勾选后面那个选项。openHarmony添加system_basic权限安装报错。1.首先查看当前的api level。签名完成就可以安装了。
2023-12-14 14:16:37
1240
原创 Android 13 Settings蓝牙列表卡顿问题排查及优化过程
此时我们的卡顿优化基本完成了,我们应该要考虑内存是否会泄漏,如果大家不知道哪些需要回收可以用leakcanary和android profiler进行内存检测,看代码有没有内存泄漏。
2023-12-07 17:06:45
1539
7
原创 Android 13 骁龙相机点击录像流程分析
录像的流程大概分为几个阶段:进行预览、点击开始录像(跳过)、点击按钮结束录像、数据库保存生成uri、根据uri保存左下角缩略图、将uri保存内存中、点击左下角进入相册,下面我们一步一步进行分析。
2023-10-11 15:11:38
892
原创 Android 13 骁龙相机点击拍照流程分析(一)——点击拍照到更新到左下角缩略图
拍照的流程大概分为几个阶段:打开相机进行预览、点击按钮进行拍照、生成缩略图、生成图片并保存、数据库保存生成uri、点击左下角进入相册,下面我们一步一步进行分析。
2023-10-09 14:53:39
1626
原创 Ubuntu编译Android源码报错files = files.strip().replace(ANDROID BUILD TOP,‘‘).split(‘\n‘)TypeError: a bytes
输入sudo update-alternatives .-config python。然后选择python版本。
2023-08-29 11:53:24
106
原创 Android 13 像Settings一样获取当前语言地区及多语言地区
用户需要定制获取到当前语言地区,类似与Settings那样,不过Settings获取的是当前添加的多个语言,本文会介绍当前的多个语言获取和只获取第一个语言。
2023-08-29 11:12:52
617
原创 【自定义系统服务】【android13】添加自定义java系统服务
Binder默认可以传输基本类型的数据,如果要传递类对象,则这个类需要实现序列化。我们先定义一个序列化的自定义类型,用于binder间参数传递。主要分为两步:创建自定义类型,实现Parcelable接口// 注意定义成员变量的顺序,后面读取和写入都必须按这个顺序// 注意定义成员变量的顺序@NonNullmAge = age;//@Override// 注意定义成员变量的顺序。
2023-08-18 13:22:50
592
原创 Android 13 像Settings一样开启关闭深色模式
由于客户定制的Settings需要开启关闭深色模式,所以需要自己调用开启关闭深色模式。
2023-08-16 15:00:10
797
原创 Android 13 开启关闭飞行模式
调用开启关闭飞行的api,具体主要是在AirplaneModeEnabler这个类中获取和开启关闭飞行模式,具体需要定义AirplaneModeEnabler类全局变量,然后初始化这个全局变量,并且在Activity生命周期中对这个变量进行相应的状态处理,而且需要从这个变量获取当前的飞行模式状态,最后还有一个飞行模式状态监听,不过这一步可以跳过。
2023-08-16 14:41:43
873
原创 Android 13像Settings一样获取热点和网络共享
由于客户定制的Settings里面需要获取到热点和网络共享状态,所以需要实现此功能。上述文档的第三部第四步有详细介绍。
2023-08-16 13:37:19
579
原创 Android 13 Launcher——屏蔽上拉到应用列表
Launcher定制需要将原先的应用列表去掉,可以从根源去掉,就是将上拉出现应用列表的上拉手势直接屏蔽,让其不能上拉出现应用列表界面,在研究的过程中顺便将下拉出现负一屏的逻辑也研究了下,如下就是具体实现。如果需要拦截让其不上拉出现应用列表可以修改成如下代码即可。
2023-08-14 20:43:13
913
原创 Android 13 Launcher——如何区分长按图标是hotseat还是Launcher还是应用列表中的
由于当前有个定制Launcher需求需要长按图标的ui效果根据在不同的布局(hotseat、Launcher、应用列表)中不一样,所以需要区分长按图标是Hotseat还是Launcher中还是在应用列表中,如下就是如何进行区分。如上定制的实现是在Launcher中和应用列表中弹框与在Hotseat中弹框的内容不一样的,具体效果如下,此处只说的是三者的区别,具体弹框逻辑这里没有。
2023-08-14 16:31:04
491
原创 Android 13 Launcher——屏蔽长按非icon区域出现弹窗
长按Launcher非icon区域也是会有弹窗的,会显示小组件等信息,定制开发要求长按非icon区域不要弹窗,我们来实现此功能,先看下未修改前的长按非icon区域的效果。如上图可以看出长按功能显示出壁纸、微件、主屏幕设置这些内容。实现效果是长按不会出现任何内容了。
2023-08-08 20:21:36
638
原创 Android 13 Launcher——长按图标弹窗背景变暗
主要代码逻辑在ArrowPopup中的reorderAndShow方法和closeComplete方法中,其中reorderAndShow方法是为了让其显示的时候背景变暗,closeComplete方法是为了在弹窗关闭的时候背景恢复。客户定制需要长按图标弹窗让其背景变暗,所以需要进行定制,如下是定制流程,本篇是接上篇。修改后的效果图如下所示,可以看出背景效果了。
2023-08-08 17:23:34
648
原创 Android 13 Launcher——长按图标弹窗内容修改以及小组件等隐藏起来
由于定制化开发需要将原先的长按图标原生弹窗界面隐藏,然后显示自定义的弹窗界面,如下就是我们来实现自定义的弹窗界面。然后运行代码此时就是可以看到我们自定义的布局文件了,这里我就不演示了,到最后一起演示。实现思路是在布局文件中加入自定义的弹窗布局,然后在代码中隐藏原先的布局内容。
2023-08-08 17:13:14
2141
原创 Android 13 Launcher界面——移除Launcher的删除和卸载功能
可以看出主要是有三处需要修改的,首先是功能屏蔽,将移除功能和卸载功能关闭,然后是UI界面中隐藏Remove和Uninstall按钮,最后需要注意的是落点到Uninstall和Remove时是有个图标编写的动画的,为了最佳用户体验,可以将这个变小动画也去掉。下面我们就从这三个方面来进行实践。由于Launcher定制开发,需要自定义删除和卸载功能,将拖动图标进行删除和卸载应用的功能去除,下图是原生的删除和卸载功能,是正在拖动中的图和卸载进行时的图。修改后的效果如下所示,可以看出是没有图标变小的效果了。
2023-08-08 16:16:21
1469
原创 Android 13 Hotseat定制化修改——005 hotseat图标禁止形成文件夹
由于需求是需要自定义修改Hotseat,所以此篇文章是记录如何自定义修改hotseat的,应该可以覆盖大部分场景,修改点有修改hotseat布局方向,hotseat图标数量,hotseat图标大小,hotseat布局位置,hotseat图标禁止形成文件夹,hotseat图标禁止移动到Launcher中,本篇介绍如何实现hotseat图标禁止形成文件夹。
2023-08-08 13:51:17
655
原创 Android 13 Hotseat定制化修改——004 hotseat布局位置
由于需求是需要自定义修改Hotseat,所以此篇文章是记录如何自定义修改hotseat的,应该可以覆盖大部分场景,修改点有修改hotseat布局方向,hotseat图标数量,hotseat图标大小,hotseat布局位置,hotseat图标禁止形成文件夹,hotseat图标禁止移动到Launcher中,此处介绍hotseat布局位置修改。然后修改代码,代码中主要是确定Hotseat的位置及宽高。
2023-08-08 13:48:08
987
原创 Android 13 Hotseat定制化修改——003 hotseat图标大小修改
由于需求是需要自定义修改Hotseat,所以此篇文章是记录如何自定义修改hotseat的,应该可以覆盖大部分场景,修改点有修改hotseat布局方向,hotseat图标数量,hotseat图标大小,hotseat布局位置,hotseat图标禁止形成文件夹,hotseat图标禁止移动到Launcher中,本篇来介绍下hotseat图标大小修改。
2023-08-08 13:41:03
920
原创 Android 13 Hotseat定制化修改——002 hotseat图标数量修改
由于需求是需要自定义修改Hotseat,所以此篇文章是记录如何自定义修改hotseat的,应该可以覆盖大部分场景,修改点有修改hotseat布局方向,hotseat图标数量,hotseat图标大小,hotseat布局位置,hotseat图标禁止形成文件夹,hotseat图标禁止移动到Launcher中,本篇来介绍下Hotseat图标数量修改。hotseat的图标数量是根据设备分辨率来灵活分配的,但是如果有需求需要固定hotseat的图标数量怎么办呢。
2023-08-08 13:35:58
949
原创 Android 13 Hotseat定制化修改——001 hotseat布局方向
由于需求是需要自定义修改Hotseat,所以此篇文章是记录如何自定义修改hotseat的,应该可以覆盖大部分场景,修改点有修改hotseat布局方向,hotseat图标数量,hotseat图标大小,hotseat布局位置,hotseat图标禁止形成文件夹,hotseat图标禁止移动到Launcher中,下面开始一一介绍实现方式。第二种方式是直接修改DeviceProfile类中的isVerticalBarLayout方法让其全局修改成横屏或者竖屏,如下是修改成横屏方式,修改成hotseat效果和上面一样。
2023-08-08 13:23:31
871
原创 Android 13 Hotseat定制化修改——006 hotseat图标禁止移动到Launcher中
如上修改后可以看出hotseat中的图标就不会移动出去了,如果需要定制化启动的模块,比如Launcher的图标滑动方式和区域,也可以在上述两个方法中进行修改即可。思路:在事件拦截的地方判断是否触摸的开始位置在Hotseat区域,如果是在Hotseat区域然后在事件监听的地方进行特殊处理,让其不能移动到Hotseat区域外。原生的Hotseat与Launcher是可以相互移动的,然后现在的需求是Hotseat中的图标只能在Hotseat中移动,所以需要做下限制。
2023-08-08 13:15:41
772
原创 Android 13 Hotseat定制化修改
由于需求是需要自定义修改Hotseat,所以此篇文章是记录如何自定义修改hotseat的,应该可以覆盖大部分场景,修改点有修改hotseat布局方向,hotseat图标数量,hotseat图标大小,hotseat布局位置,hotseat图标禁止形成文件夹,hotseat图标禁止移动到Launcher中,下面开始一一介绍实现方式。先看下目前的Launcher中hotseat显示方向。
2023-08-08 11:34:43
1041
1
原创 Android13 Launcher界面关闭google搜索框
由于定制化Launcher开发中的一个需求是需要实现将Launcher中的google搜索框去掉,所以需要实现关闭google搜索框操作。
2023-08-05 16:34:32
867
原创 OpenHarmony系统应用开发流程(编译full sdk并替换)
public-SDK是提供给应用开发的工具包,跟随DevEco Studio下载,不包含系统应用所需要的高权限APIfull-SDK是提供给OEM厂商开发应用的工具包,不能随DevEco Studio下载,包含了系统应用所需要的高权限API三方开发者通过DevEco Studio自动下载的API8版本SDK均为public版本。public-SDK不支持开发者使用所有的系统API。
2023-07-22 17:13:47
519
原创 OpenHarmony与HarmonyOS联系与区别
HarmonyOS 是华为是基于 OpenHarmony、AOSP等开源项目开发的面向多种全场景智能设备的商用版本,所以HarmonyOS包含OpenHarmony,如果将OpenHarmony理解成地基,则HarmonyOS则是在这个地基基础上修建的精装房。开篇就说“关于‘鸿蒙操作系统’,由于缺乏规范的表述和统一的口径,导致内部理解不一致、对外说法不一致,容易引起混淆,所以此篇是专门说一下OpenHarmony与HarmonyOS的区别的。当我们在说“鸿蒙”的时候,也许就是指鸿蒙生态。
2023-07-21 16:04:54
14108
5
原创 001 Jetpack Compose入门
新建项目中空Activity就是新建的Compose项目。然后就会得到一个Compose界面的应用。注意要将kotlin环境配置好。
2023-07-13 18:57:12
407
原创 Android Settings下划线变成黑块问题修复(修改自定义样式下划线)
在app模块的drawable目录下新建分割线的xml文件,如下是自定义分割线的shape文件内容---->
2023-07-04 20:57:41
202
原创 Android 应用自动开启辅助(无障碍)功能并使用辅助(无障碍)功能
由于最近的项目需要开启无障碍功能然后实现对应的功能需求,但是由于需求是需要安装后就开启辅助功能,不要在繁琐的在设置中开启辅助功能,所以需要如何在应用中开启辅助功能。
2023-06-28 11:35:29
2444
原创 AndroidStudio xml布局文件输入没有提示
方法1:修改compileSdkVersion低于33即可,不建议。原因是老的AndroidStudio与新的sdk版本不一致。方法2:升级AndroidStudio版本,建议。如下是我的AndroidStudio可行的版本。
2023-06-27 19:08:39
3071
原创 005 Settings可以直接通过AndroidStudio安装并调试(二)——Settings 打release包遇到的问题
Settings迁移到AndroidStudio中直接打release包是有各种问题的,打不出来包,这里我们详细来描述下Settings打包出现的问题及解决方案。首先遇到的拦路虎,也是最繁琐的包名冲突,之前说过在AndroidStudio新版本会有这个问题,但是这里打release包也还是有这个问题,不得不正面面对。的模块内容(主要是res文件和src文件以及gradle依赖的内容)放到这个新的模块中,需要把所有的包名为。解决方案:新建一个包名为。解决方案保留一个即可。
2023-06-21 16:02:05
1097
原创 004 Settings可以直接通过AndroidStudio安装并调试(一)——整体流程描述
上述就生成jks成功了,中间应该还会遇到提示你是否覆盖jks,覆盖即可,然后将jks文件拷贝回到Windows中,androidStudio就可以使用了。注意上述的settings.jks与settings更换成自己的jks文件名称和别名名称,xxxxxx是设置的密码。然后就可以使用release打包了,不过Settings打包会有各种问题,后续再来一篇说下。3.创建新的jks,我这边是有了所以界面不一样,没有的话需要创建。4.填写信息,不说了,这个大家都懂,然后OK。然后选择debug,进行调试即可。
2023-06-21 15:58:13
1295
原创 003 Android13将Settings移植到AndroidStudio中(二)
接上篇的Android13将Settings移植到AndroidStudio中(一)后续,其实有很多细节的地方是不能一一展示出来的,我这边就尽量将记录下来的流程和编译报错在这里写一下,避免后面的人踩坑。
2023-05-30 19:38:12
1049
1
原创 002 Settings apk进行系统签名覆盖安装
由于AndroidStudio中Settings编译出来的包是未签名的,不能将设备覆盖安装替换原先签名的包,故需要将AndroidStudio打包出来的apk进行签名。
2023-05-24 16:18:48
1251
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅