/system/core/init/init.cpp

.....
.....
.....
int main(int argc, char** argv) {
.....
.....
.....
// Don't mount filesystems or start core system services in charger mode.
std::string bootmode = GetProperty("ro.bootmode", "");
if (bootmode == "charger") {
am.QueueEventTrigger("charger");
} else {
am.QueueEventTrigger("late-init");
}
.....
.....
.....

/system/core/rootdir/init.rc

.....
.....
.....
on charger
class_start charger
.....
.....
.....

/system/core/healthd/Android.mk

.....
.....
.....
LOCAL_SRC_FILES := \
charger.cpp \ LOCAL_MODULE := charger
.....
.....
.....

/system/core/healthd/charger.cpp

int healthd_charger_main(int argc, char** argv) {
int ch; healthd_mode_ops = &charger_ops; while ((ch = getopt(argc, argv, "cr")) != -1) {
switch (ch) {
case 'c':
// -c is now a noop
break;
case 'r':
// force nops for recovery
healthd_mode_ops = &healthd_nops;
break;
case '?':
default:
KLOG_ERROR(LOG_TAG, "Unrecognized charger option: %c\n",
optopt);
exit(1);
}
} return healthd_main();
} int main(int argc, char** argv) {
return healthd_charger_main(argc, argv);
}

[To Be Continued]

最新文章

  1. [Unity3D]NGUI用Sprite动画和屏幕自适应做游戏开始场景
  2. bootstrap-table 分页的问题
  3. 三、图像移动《苹果iOS实例编程入门教程》
  4. 转:javascript 中select的取值
  5. MYSQL 分析表、检查表和优化表
  6. 关于LEA指令(单周期就可以做简单的算术计算)
  7. 模拟jquery封装选择器
  8. C++标准程序库读书笔记-第二章新的语言特性
  9. Android installed app, never used, cannot receiver BroadcastReceiver
  10. 2.3 LINQ查询表达式中 使用select子句 指定目标数据
  11. php 处理并发问题
  12. 深度学习与计算机视觉系列(3)_线性SVM与SoftMax分类器
  13. 听说你的MES系统又失败了?
  14. 重装系统windows10/8/7,绝对纯净版永久激活的详细步骤和固态硬盘找不到分区的原因
  15. 目标指定法——S.M.A.R.T.
  16. Go语言规格说明书 之 结构体类型(Struct types)
  17. Android_ViewPager_实现多个图片水平滚动
  18. Win10累积更新KB3081424安装失败的解决方法
  19. 命名空间p方式的属性注入
  20. SparkSQL中的自定义函数UDF

热门文章

  1. 【文件处理】xml 文件 SAX解析
  2. phpstorm调试配置 Xdebug
  3. P2370 yyy2015c01的U盘
  4. 阿里巴巴Java开发规约Eclipse插件安装及使用
  5. 把实体bean对象转换成DBObject工具类
  6. APP开发手记01(app与web的困惑)
  7. 剑指Offer - 九度1518 - 反转链表
  8. 《Cracking the Coding Interview》——第7章:数学和概率论——题目1
  9. 1、shader简介、渲染管线
  10. python作业:HAproxy配置文件操作(第三周)