因项目需要要在关屏幕前播放一个动画(和开机动画差不多)。
1. copy frameworks/base/cmds/bootanimation shutdownanimation
修改需要打开到文件bootanimation.zip
修改Android.mk 生成 shutdownanimation
2. 修改init.rc
service shutdown /system/bin/shutdownanimation
user graphics
group graphics
disabled
oneshot
3, 修改PowerManagerService.java
if (mPowerState != newState) {
// added
if("stopped".equals(SystemProperties.get("init.svc.bootanim")))
{
if("running".equals(SystemProperties.get("init.svc.shutdownanim")))
{
SystemProperties.set("ctl.stop", "shutdownanim");
}
else
{
SystemProperties.set("ctl.start", "shutdownanim");
SystemClock.sleep(2*1000);
}
}
// added end
updateLightsLocked(newState, 0);
mPowerState = (mPowerState & ~LIGHTS_MASK) | (newState & LIGHTS_MASK);
}
这样之后功能上是实现了但性能上还有稳定性的问题还要修改
本文介绍如何在设备关屏时播放自定义动画。主要步骤包括:修改bootanimation.zip文件,更新Android.mk生成shutdownanimation,编辑init.rc文件启用服务,并在PowerManagerService.java中添加控制代码。

被折叠的 条评论
为什么被折叠?



