自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

原创 新增物理按键处理-kaios

最近新项目设备新增了一个物理按键,功能是quick dialer,快捷拨号功能,设置好一个手机号码通过快速点击三下实现拨打功能,我主要负责事件上报到上层js,并在三次点击之后发送event以通知dialer拨打电话,记录一下实现流程,因为做这个功能的时候新设备还没到因此用VolumeDown模拟q...

2019-12-12 16:43:08

阅读数 5

评论数 0

原创 AIDL中的in,out,inout原理篇

AIDL中的in,out,inout用法篇主要对跨进程传输对象三种定向tag方式的用法进行了讲解,验证了以下结论: in:由cilent端流向server端,server端可以收到此对象的所有数据,收到之后会重新创建一个新的对象将数据填充进去,因为cilent端和server端是两个不同的对象,所...

2019-12-08 16:34:22

阅读数 9

评论数 1

原创 AIDL中的in,out,inout用法篇

Android两个进程间内存相互独立不能互相访问,跨进程传输非默认类型对象需要先序列化,而不能直接简单传递引用,序列化的目的是将对象数据以能够在内存中流通的形式从一个进程传递到另一个进程,两个进程对象的传递类似深度clone,client端将对象数据写入Parcel(writeToParcel),...

2019-12-08 16:23:58

阅读数 11

评论数 1

原创 [Google CTS]android.app.usage.cts.UsageReportingTest#testSplitscreenSameTokenTwoMissedStop test fail

testSplitscreenSameTokenTwoMissedStop 今天出现一条CTS的fail,之前没出现过,复现步骤必须设置锁屏为none,设置swipe能跑过的,比较奇怪的是之前版本没有出现过,问了测试同事,发现我们这次跑的时候是用多台机器分开跑,于是想明白了,以前全跑的时候应该是跑...

2019-12-06 15:54:58

阅读数 6

评论数 1

原创 Android10 notification创建发送流程-SystemUI篇

Android10 notification创建发送流程-framework篇分析了通知是如何从framework发送到NotificationListenerService的onNotificationPosted方法的,这个方法其实并没有具体实现,需要子类实现具体逻辑,这篇文章接着上一篇分析S...

2019-12-06 12:20:19

阅读数 49

评论数 0

原创 Android10 notification创建发送流程-framework篇

基于Android10源码分析notification创建到添加到systemui的流程 本篇主要分析framework部分 以下是发送一个简单notification的示例代码: public static final int NOTIFY_ID = 110; Notif...

2019-12-04 19:16:33

阅读数 22

评论数 1

转载 Android Gatekeeper

Gatekeeper Gatekeeper 子系统会在可信执行环境 (TEE) 中执行设备解锁图案/密码身份验证。Gatekeeper 会使用由硬件支持的密钥通过 HMAC 注册和验证密码。此外,Gatekeeper 会限制连续失败的验证尝试次数,并且必须根据指定的超时和指定的连续失败尝试次数拒绝...

2019-12-03 17:17:37

阅读数 11

评论数 1

原创 Android无法解锁debug

Android密码验证这条流程几乎没什么log,遇到无法解锁或者解锁慢的问题需要手动添加log (1)frameworks层log /frameworks/base/services/core/java/com/android/server/locksettings/LockSettingsS...

2019-12-03 15:58:49

阅读数 13

评论数 1

原创 C++层打堆栈

C/C++打函数调用栈 #include <utils/CallStack.h> android::CallStack stack((“djtang”)); 11-28 16:40:20.478 28858 29024 D djtang : #00 pc 012...

2019-11-28 16:41:50

阅读数 14

评论数 1

原创 应用窗口与InputDispatcher之间的桥梁:InputChannel

InputDispatcher接收InputReader读取到的事件,分发给对应窗口,InputDispatcher属于system_server进程和各个应用不在同一进程,它们之间的联系靠的就是InputChannel。 handleResumeActivity 直接从ActivityThr...

2019-11-26 15:38:38

阅读数 17

评论数 1

转载 C++基础:堆与拷贝构造函数

动态内存分配 关于堆 C++程序的内存格局通常分为四个区: 全局数据区、代码区、栈区、堆区 全局变量、静态数据、常量存放在全局数据区,所有类成员函数和非成员函数代码存放在代码区,为运行函数而分配的局部变量、函数参数、返回类型、返回数据、返回地址等存放在栈区,余下的空间作为堆区。 函数malloc和...

2019-11-23 20:16:19

阅读数 10

评论数 1

原创 数据结构之循环队列

队列 队列是一种先进先出的数据结构,就像排队买火车票,先去的人先买到票先走,后去的人就只能排在最后面,队列只允许在两端进行操作,即尾部插入元素,头部取走元素,普通队列处理元素有两种方式,一是头部元素依次出队,后面的元素跟着向前移动一位,当数据量非常大时这样效率比较低。 二是指针从头部往后移,依次...

2019-11-23 16:49:46

阅读数 11

评论数 2

原创 Scancode到Keycode的映射

之前分析的InputReader读取底层事件可以得知 InputReaderThead启动之后会通过mEventHub->getEvents读取设备节点的所有事件,通过parsekey方法解析kl文件存入数据结构map,在读取节点事件之前先扫描设备,如果没有打开则打开设备,在打开设备...

2019-11-22 18:54:25

阅读数 46

评论数 1

原创 新增物理按键处理流程-Android

最近项目新增了一个物理按键,当system添加好scancode之后,记录一下上层的处理流程。 djtang:/data1/localProject/Tokyo_TF$adb shell Seoul_TF:/ $ Seoul_TF:/ $ getevent add device 1: /...

2019-11-20 19:59:11

阅读数 86

评论数 1

原创 InputReader读取底层事件

执行getevent可以看到上报到/dev/input/eventX设备节点的各种事件,下面是点击了power键输出,0074是system上报的scancode,可以在system/usr/keylayout/mtk-kpd.kl中找到,74是16进制,刚好对应116,Linux input子系...

2019-11-20 17:30:07

阅读数 59

评论数 0

原创 集成三方锁屏应用带来的CTS/GTS问题

最近项目要求集成三方锁屏应用代替原生swipe锁屏,出现了几个CTS/GTS问题,记个小笔记 1.因为三方锁屏需要完全替代掉原生swipe,所以将swipe禁用掉了,Settings中也是不可以选的,结果出现 [Google CTS]android.app.usage.cts.UsageRepo...

2019-11-19 19:33:10

阅读数 33

评论数 0

原创 NDK环境配置错误

记录一个NDK开发小错误 在Android Studio中想要添加c/c++的代码提示,切换到Android视图,项目名右键->Link C++ Project with Gradle->选择ndk-build->然后选择Android.mk的项目路径,...

2019-11-17 14:30:40

阅读数 15

评论数 0

原创 NDK环境搭建

1.环境搭建 1.Android Studio中下载如下图的三个tools 2.配置ndk环境变量,path中添加ndk的路径 3.命令行输入ndk-build,出现如下图输出,代表环境变量配置成功 4.Android Studio中新建native方法并导入链接库文件 ...

2019-11-16 16:44:35

阅读数 110

评论数 2

原创 SystemUI常见问题修改方法

AndroidO,AndroidP SystemUI问题修改笔记 修改NavigationBar ‘back’ 触控范围 SystemUI/src/com/android/systemui/statusbar/phone/NearestTouchFrame.java @Vis...

2019-05-09 18:03:24

阅读数 229

评论数 1

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