[03/31/2013][Android]Power off Charge 总结

本文仅供个人参考,由于还是初学,出错之处望能指出。由于没有源码,好多东西靠回忆,难免有出入,我会完善的。

最近在做Android 4.1 关机充电的实现,前后历经各种问题,基本解决。现总结如下:

1 关机充电代码具体实现在system/core/charger/charger.c, 编译时编进boot.img, 打log方法:LOGI(“  \n”);


2 具体代码流程:

先从system/core/init/init.c说起。在init.c里解析init.rc文件,将service加入队列。在builtins.c里执行do_class_start()按照class 开启服务。当检测到时charger service 时,进入关机充电程序-----charger.c.

在main函数中,首先检测usb线是否存在,之前没加这个检测,发现关机状态插usb线立马拔掉,机子还是会显示1~2秒的关机充电动画,显然,这不科学。之后就是各种初始化,包括kmsg, kernel 事件上报的回调函数input_callback; 然后是加载关机充电动画的图像,由于加入了低电量警示动画,加载图片好多。然后申请wake_lock, 之后charger->next_key_check = -1;

charger->next_screen_check = -1;reset_animation; kick_animation,set_brightness(100), 进入event_loop

在event_loop, 进入while (true)的无限循环。

(1) 读取当前时间,后面会用来判断动画是否超时(如超时,亮度调至0&#x

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值