因项目需要要在关屏幕前播放一个动画(和开机动画差不多)。
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);
}
这样之后功能上是实现了但性能上还有稳定性的问题还要修改