- 博客(14)
- 收藏
- 关注
原创 android 9.0 getIntProperty获取系统当前电量流程分析(一)
上层直接获取系统电量的方法:BatteryManager batteryManager = (BatteryManager) getSystemService(BATTERY_SERVICE);batteryManager.getIntProperty(BatteryManager.BATTERY_PROPERTY_CAPACITY);所以从BatteryManager.getInt...
2020-10-20 11:20:12
1151
原创 android 9.0 getIntProperty获取系统当前电量流程分析(二)
接着看上一篇android 9.0 getIntProperty获取系统当前电量流程分析(一),分析getCapacity在HIDL中的实现service.getCapacity((int result, int value) -> { outResult.value = result; ...
2020-10-20 11:18:21
635
2
原创 上层监听Kernel上报的UEvent事件Demo
最近的项目需要上层判断新外挂的mcu的连接状态 ,其节点自定义为/sys/class/lgy_class/lgy/lgy。在kernel中创建节好点的时候,其实已经有了uevent事件了。上层需要监听的是这个节点虚拟出来的1,在自定义的NeoManagerService.java 服务中添加监听动作;private static final String LG...
2020-08-08 10:34:47
1273
原创 知其然也要知其所以然---Kernel上报电量UEvent事件流程分析
1,kernel-4.4\drivers\power\power_supply_core.c当电量信息需要更新的时候,kernel会调用power_supply_changed_work这个工作队列,使用kobject_uevent函数往上发送uevent事件,action是KOBJ_CHANGE;static void power_supply_changed_w...
2020-08-08 10:34:27
2339
1
原创 知其然也要知其所以然---上层监听Kernel上报的UEvent事件流程分析(一)
1,涉及到的文件frameworks:frameworks/base/core/java/android/os/UEventObserver.javaframeworks/base/core/jni/android_os_UEventObserver.cpp要监听kernel层上报的的uevent事件,首先要做的是自定义一个类继承UEventObserver类并实现其抽象方...
2020-08-08 10:33:01
1913
原创 9.0 SystemUI 状态栏 系统状态图标初始化流程
system_icons.xml<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/system_icons" android:layout_width="match_parent" android:layout_height="match_parent" android:gravity="center_vertical">
2020-07-17 14:03:22
1228
原创 android 9.0 systemui之通知的处理流程
StatusBarNotification.javaNotification.javaNotificationData.javaNotificationData.Entry通知栏图标类 StatusBarIconView1,NotificationListener.java ---》onNotificationPosted2,NotificationEntryManager.addNotification(sbn, rankingMap)---》addNotificationI.
2020-07-13 20:41:39
881
原创 SystemUI之状态栏StatusBar的加载
一:在Android 9.0 SystemUI的启动这篇文章中介绍到,我们要启动的服务都是在config_systemUIServiceComponents中配置的。
2020-04-21 13:54:12
640
1
原创 android 9.0 系统铃声加载过程及添加卡二默认铃声
1,扫描系统内部存储、外部存储的铃声以下是部分log;从log开始跟这个流程。2019-12-06 10:18:55.493 3256-3256/? V/MediaScannerReceiver: onReceive action = android.intent.action.MEDIA_MOUNTED2019-12-06 10:18:55.498 3256-3256/? D/Medi...
2019-12-09 11:19:43
1915
1
原创 PowerManagerService中的核心方法(三)---updateWakefulnessLocked
updateWakefulnessLocked更新设备的唤醒状态,根据当前的wake locks和用户活动状态决定设备是否需要开始进入屏保状态。如果wakefullness改变,可能会修改mDirty的值。2112 /**2113 * Updates the wakefulness of the device.2114 *2115 ...
2019-08-26 11:56:07
387
原创 PowerManagerService中的核心方法(二)
变量:private int mDirty;//一个位域,指示电源状态的哪些部分已更改并需要重新计算。132 // Dirty bit: mWakeLocks changed133 private static final int DIRTY_WAKE_LOCKS = 1 << 0;134 // Dirty bit: mWakefuln...
2019-08-21 17:27:48
205
原创 PowerManagerService中的核心方法(一)
一:1587 /**1588 * Updates the global power state based on dirty bits recorded in mDirty.1589 *1590 * This is the main function that performs power state transitions.1591 ...
2019-08-15 15:56:53
117
原创 PowerManagerService 注册及初始化分析
service的启动过程:frameworks/base/services/java/com/android/server/SystemServer.java303 public static void main(String[] args) {304 new SystemServer().run();305 } private void ...
2019-08-13 15:21:11
380
原创 9.0 添加自定义服务
1,添加AIDL frameworks\base\core\java\android\os\ILgyManager.aidlpackage android.os;/** @hide */interface ILgyManager{ String getVal(); }2,在frameworks\base\Android.bp中添加我们的AIDL,让其编译进系...
2019-07-15 14:59:17
1250
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人