点击打开链接

0.主要流程

usb插入通过传递cmdline给init解析从而启动充电进程


1. LK


lk\app\aboot\aboot.c

update_cmdline----------if (boot_into_ffbm)  // 工厂测试模式{cmdline_len += strlen(androidboot_mode);cmdline_len += strlen(ffbm_mode_string);/* reduce kernel console messages to speed-up boot */cmdline_len += strlen(loglevel);}else if (target_pause_for_battery_charge())   // 判断是否关机充电{pause_at_bootup = 1;                    // charger flagcmdline_len += strlen(battchg_pause);   //更新 cmd line 长度}
----------else if (pause_at_bootup)                    // charger flag{src = battchg_pause;         // static const char *battchg_pause = " androidboot.mode=charger";if (have_cmdline) --dst;while ((*dst++ = *src++));}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25


2.init


#init.c
if (!is_ffbm)is_charger = !strcmp(bootmode, "charger");----------
if (is_charger)action_for_each_trigger("charger", action_add_queue_tail);
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12

# init.rc
on chargerclass_start charger----------# init.qcom.rc
service charger /chargerclass charger----------#system/core/healthd/Android.mk LOCAL_MODULE := healthd
...
# Symlink /charger to /sbin/healthd
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21

android 关机充电流程相关推荐

  1. android关机充电流程、充电画面显示

    一.Android正常开机流程.关机充电流程 在写这篇文章之前我们先看两个流程:正常开机流程,关机充电系统启动流程 1.正常开机流程,按开机键. 可大致分成三部分 (1).OS_level:UBOOT ...

  2. Android上电到现实充电画面,android 电池(二):android关机充电流程、充电画面显示(一)...

    上一篇我们讲了锂电池的充放电的流程和电池的一些特性,这一节我们重点说一下android关机充电是怎么.充电画面显示是怎么实现的,这个在工作中也比较有用,我们开始做这一块的时候也走了不少的弯路.我记得我 ...

  3. android 电池(二):android关机充电流程、充电画面显示

    上一篇我们讲了锂电池的充放电的流程和电池的一些特性,这一节我们重点说一下android关机充电是怎么.充电画面显示是怎么实现的,这个在工作中也比较有用,我们开始做这一块的时候也走了不少的弯路.我记得我 ...

  4. android 电池(二):android关机充电流程、充电画面显示【转】

    本文转载自:http://blog.csdn.net/xubin341719/article/details/8498580 上一篇我们讲了锂电池的充放电的流程和电池的一些特性,这一节我们重点说一下a ...

  5. android关机重启流程代码

    android关机重启流程,不能完全说是原创,只是自己一步步跟下来的学习总结. 1. frameworks/base/core/java/android/os/PowerManager.java pu ...

  6. android 9.0关机充电流程,充电图标和电量显示百分比修改

    android 9.0关机充电图标和字体修改 相关源文件 电量显示百分比字体替换 充电图标替换 相关源文件 system/core/healthd/healthd_draw.cppsystem/cor ...

  7. android开关机日志_(android 关机/重启)Android关机/重启流程解析

    --------------------------------Introduction-------------------------- 1. 在PowerManager的API文档中,给出了一个 ...

  8. android关机分区卸载,Android关机重启流程(二)

    一.回顾 先回顾下上部分得分析,从最开始的PM.reboot(),经过层层调用,最终调用 SystemProperties.set("sys.powerctl", "re ...

  9. Android关机重启流程

    一,概述 重启动作从按键触发中断,linux kernel层给Android framework层返回按键事件进入 framework层,再从 framework层到kernel层执行kernel层关 ...

最新文章

  1. php中unset函数是在哪一章_PHP unset函数原理及使用方法解析
  2. 入门Python难不难?零基础到底要怎么学Python?
  3. python引用传递产生的问题_理解Python中传递值和引用时出现问题
  4. 代码运行错误及解决方法
  5. Floyed-Warshall算法(求任意两点间最短距离)
  6. Android中resource参数变量使用
  7. 4.UNIX 环境高级编程--文件和目录
  8. 分享一个好看的个人主页源码
  9. 思科CCNP网络工程师 CCIE考试常见问题GRE虚拟专用网络详解
  10. 内容下沉新时代:在一二线做品质,去三四线接地气
  11. 算法注册机编写扫盲之续篇--第一课
  12. 我的世界1.14java原版命令_我的世界1.14.4第一个预览版发布 添加了debugreport命令...
  13. vue 视频播放(使用vue-video-player)
  14. 基于矢量的水下路由协议
  15. method.invoke()和invoke()简单理解
  16. C语言将华氏温度转换为摄氏温度
  17. ais3_crackme 踩坑解析
  18. Programming tools
  19. 银联在线支付从upop切换到全渠道的交易流程
  20. 台积电台中,建2nm和1nm制程工厂

热门文章

  1. mysql和sql互导_Mysql和SqlServer互相转换
  2. 002_Container布局容器
  3. 学生兴趣爱好管理系统 c语言,《学生兴趣爱好系统.doc
  4. 比亚迪秦wince玩游戏_【新闻】1.5T比亚迪秦Pro或要降价/多款亲民新车上市!
  5. Java解码vhd的磁盘文件,VHD Java library
  6. aspose.words 表格内容水平居中_CSS十五种方法教你如何居中一个元素
  7. Android Fragment嵌套导致的bug
  8. Redis的安装及使用
  9. php memcached 扩展下载,编译安装 PHP 的 Memcached 扩展
  10. c语言fread读取错误,【求助】C语言fread读取二进制文件时,读取结果全都是零