- 博客(29)
- 资源 (1)
- 收藏
- 关注
原创 Android10之去掉截屏通知界面分享、编辑和删除功能
目前有需求要去掉这三个功能,而我们知道截图功能一直都是在SystemUI上面处理的,所以我们只能在SystemUI里面去找对应代码。在Android10系统日常开发中,截屏功能截屏后会出现一个通知,通知界面有分享、编辑和删除功能,因为我改的是MTK提供的源码,目录跟原生的有所不同。
2024-07-25 15:17:06
379
原创 Android13之在源码里修改第三方应用的启动模式
在SecondaryDisplay.Activity.LaunchMode.get()函数添加自己的定制指定应用包名的启动模式。我们只需要添加如下代码,
2024-07-11 09:37:25
265
原创 Android系统之APP添加插入U盘读写权限(已测试Android7.1和Android12)
我们加入这个权限后,多媒体应用就可以在U盘或者sd卡目录下面创建和删除文件了,由上面可以看出这个就是media和dscard的管理权限。但是还是不行,不过我们在源码权限文件platform.xml发现了这个权限。
2023-12-21 15:36:28
931
1
原创 Android7.1之定制鼠标右键为返回键
在Room定制产品中,我们开发板有USB接口,经常要接外设,比如鼠标、键盘之类的,很多时候客户需求将鼠标右键定制成返回键,那就需要我们改源码定制功能,不过很多时候原厂就已经帮你写好了,但是也是有意外情况需要加,这里就先记录下。
2023-10-13 15:49:24
274
原创 Android4.4之PhoneWindowManager定制遥控按键长按和短按两个功能
【代码】Android4.4之定制遥控按键长按和短按两个功能。
2023-10-10 15:28:21
508
原创 Android系统开发之在PMS里面限制应用的卸载
在日常开发中,尤其是定制ROM,有些设备里面的应用不想被卸载,就需要限制用户,当然如果将不能卸载的应用预置到system/app目录下也不会被卸载,但是我们还有其他方式,比如在PMS里面假如卸载限制,这样也可以实现这个功能,而且adb 命令或者代码都不能卸载该应用,接下来我们看下实现方法。这只是单一的功能,我们可以将需要限制的应用包名存放一个集合,再通过比对的方式限制。
2023-07-26 13:57:43
302
原创 Android PMS之禁止某个应用安装
在Android系统定制开发中,我不知道该功能有没有用在商用的产品中,最近在看PMS的源码,PMS里面包含了应用的安装、卸载等功能,那我们能不能在PMS里面去限制某个应用的安装或者卸载呢?答案是当然能,因为整个系统的应用安装都要走PMS,我们只需要在PMS里面拦截安装,即可实现此功能,下面上代码。加上上面拦截代码,即可实现应用安装限制,adb 安装或者系统安装都可,以上可能还有需要完善的地方,欢迎留言!
2023-07-24 15:19:36
587
原创 Android系统之在AMS里面为指定应用拦截WIFI网络状态广播
这样就导致刚开起网络的时候会造成卡顿现象,这就说到了我们的要求,就是不要让某个应用监听到。网络状态广播,我们一打开网络,它们就监听到网络打开后就请求数据,网络请求本来就是耗时操作。在日常系统定制开发中,有时候有些应用会开启个服务去监听我们系统的广播,假如他们监听的是。如果我们要去拦截广播,肯定要去看看是在哪里发的广播,然后我们就可以在这里拦截了。在上面一个地方假如如下代码就可以了,上面已有标注。我们系统底层发的广播,这就需要我们去拦截这个广播。
2023-07-15 09:17:21
352
原创 RK3128之adb修改SystemProperties属性配置
打开build.prop找到对应的属性,修改值然后保存就可以了。目录:/system/build.prop。最后一步重启就可以了。
2023-05-16 10:32:32
733
原创 RK3128系列之Android7.1去掉开机铃声并弄成可配置的
只要将其中控制开机语音的属性设置成0就可以了,但是我们现在要做成可配置的,因为在做1系统固件事会遇到不同客户跟不同需求,所以我们要做成可配置的,方便后期生产固件能针对不同需求配置,通过以上代码可知他是资源文件里面配置的,属性是def_wireless_charging_started_sound。通过全局查找,我们可以找到的是,他是在SettingsProvider系统应用中配置的,好了,这里介绍就到此结束了,后面还会继续更新。下面我们来看看铃声文件是在哪里配置的。1.第一步找到播放开机语音的位置。
2023-04-19 15:41:55
446
原创 RK3128之实现App或U盘替换开机动画
在与客户对接时,客户提出更新开机动画每次都要刷机太麻烦了,能不能使用U盘或者装个App直接替换就行了,实现这个功能,上网查了一些资料,发现脚本可以实现这个功能,系统启动过程中,执行脚本替换原来开机动画就好了.
2022-11-18 14:27:05
591
原创 RK系列之Android7.1 SystemUI 添加全局返回键悬浮窗
在系统定制化中,有些客户要添加全局的返回键,或者底部导航栏去掉了,所以要加返回键,首先我们确定的是这个返回键要Window级别的,才能不被其他应用缩遮盖,也就是我们说的悬浮窗,他就是系统级别的,接下来我们直接上代码就明了了。目录:\frameworks\base\packages\SystemUI\src\com\android\systemui\statusbar\tv\TvStatusBar.java上面贴出来的代码是实现的代码,TvStatusBar这个类是在RK3128 Android7.1上
2022-11-18 11:39:12
981
原创 Android 系统开发Android.mk的详解
Android.mk 是Android 提供的一种makefile 文件,注意用来编译生成(exe,so,a,jar,apk)等文件。
2022-11-18 11:08:33
471
原创 RK3128之Settings定制红外遥控开关功能
在日常Android系统开发中,有些客户要求在Settings设置界面添加红外遥控开关功能,比如开关开启,遥控有作用,开关关闭,遥控就没作用。要实现这个功能我们就要去找输入事件了,通过找到按下遥控哪里上发的事件,然后我们拦截他不让这个实践上发到上层就可以了,接下来我们看看以下源码。以上代码目录:\frameworks\base\services\input\EventHub.cppAndroid系统是基于linux系统这就不用多说了,大家都知道,而输入事件对应的系统则是Linux系统中的子系统,很重要
2022-11-18 09:25:17
1091
原创 RK3128之提供服务接口供应用层调用
在实际开发中,不管是与第三方客户公司还是与自己公司Android应用工程师对接的时候,你可能要把系统里面的一些功能实现通过接口的方式提供给应用层工程师,不过应用访问的方式不止通过接口,后续我们会讲到,现在我们来介绍接口的实现步骤:
2022-11-17 13:03:14
767
原创 Android系统定制之RK3128系列添加新的遥控键功能(KeyCode)
Android系统定制之RK3128系列Android4.4上添加新的遥控键功能(KeyCode)1.现在KeyEvent.java上添加新的keyCode值目录:./base/core/java/android/view/KeyEvent.javapublic static final int KEYCODE_SWITCH_MUTE_TO_MONITOR = 10013;names.append(KEYCODE_SWITCH_MUTE_TO_MONITOR, "KEYCODE_SWITCH_MU
2022-02-25 17:00:11
1027
原创 Android系统之制作开机LOGO
图片转换工具netpbmsudo apt-get install netpbmPng格式图片制作成PPM格式的开机LOGOpngtopnm 0.png > log0.pnmpnmquant 224 log0.pnm > logo0.pnmpnmtoplainpnm logo0.pnm >logo_linux_1366x768.ppmBMP格式图片制作成PPM格式的开机LOGObmptopnm 0.bmp > log0.pnmpnmquant 224 log0.pn
2022-02-24 20:18:45
2210
原创 Android之APP层使用adb命令抓取系统日志
Android之APP层使用adb命令抓取系统日志之保存到U盘代码如下:build.gradleplugins { id 'com.android
2022-02-24 19:41:56
892
原创 RK3128之Android4.4在kernel层给应用加白名单
RK3128之Android4.4给应用加白名单一、在kernel层给应用加白名单目录:./drivers/staging/android/lowmemorykiller.c/* drivers/misc/lowmemorykiller.c * * The lowmemorykiller driver lets user-space specify a set of memory thresholds * where processes with a range of oom_score_adj
2022-02-24 17:39:06
517
原创 Android之Handler机制流程解析
Handler流程分析第一步:初始化Handlerprivate Handler mHandler=new Handler(){ @Override public void handleMessage(@NonNull Message msg) { super.handleMessage(msg); }};这个是new了一个对象,实例化了Handler,我们再看构造函数里面的实现:public Handler() { //这里注意传入的CallB
2021-06-10 16:53:51
514
原创 AndroidX之Greendao集成
添加依赖根工程:build.gradle //数据库 classpath 'org.greenrobot:greendao-gradle-plugin:3.3.0' // add plugin项目工程:build.gradleapply plugin: 'org.greenrobot.greendao' // apply pluginimplementation 'org.greenrobot:greendao:3.3.0'make一下项目后Application初始化
2021-04-10 10:22:32
390
原创 Android之ContentProvider共享数据(解决了Android11上的适配问题)
一、共享进程SQLite数据库代码package com.ly.provider.db;import android.content.Context;import android.database.sqlite.SQLiteDatabase;import android.database.sqlite.SQLiteOpenHelper;import androidx.annotation.Nullable;/** * create people ly * <p> * c
2021-04-07 20:24:33
1418
1
原创 Activity跳转方式
一、通过Action跳转在清单文件Activity注册里面标注Action通过Action跳转 <!--配置跳转activity--> <activity android:name="com.android.dialog.MyActivity"> <intent-filter> <!--配置action路径--> <action android:name="android.
2021-04-07 13:36:46
555
Android之RecyclerView炫酷功能效果
2022-11-28
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人