android关机过程中如何屏蔽掉power键?小弟在做一个项目,具体如下:
一般情况下长按android 开关机键,会关机,关机的同时屏幕显示关机动画,比如是一个旋转进度动画....正常情况下,关机动画结束,关机完成,屏幕变黑,但是,在关机过程中,即还在播放关机动画时,你如果按power键,会发现屏幕变黑,再点击,屏幕变亮,继续能看到关机动画,现在小弟想做的是在关机过程中屏蔽power键,即在播放关机动画过程中,power键不起作用,如何实现?
================================================================================
Resolve:
如果你的ANDROID版本是Gingerbread或以上,你可以修改 com.android.internal.policy.impl.PhoneWindowManager.interceptKeyBeforeQueueing, 修改它的逻辑,把POWER key 屏蔽掉。
1. 在GlobalActions类加一个FIELD: boolean isShutdown;
2. 在com.android.internal.policy.impl.GlobalActions.createDialog().new SinglePressAction() {...}.onPress()把isShutdown set 为 true
3. 在com.android.internal.policy.impl.PhoneWindowManager.interceptKeyTq(RawInputEvent, boolean) 开头加以下代码:
if (mGlobalActions != null && mGlobalActions.isShutdown && event.keycode==KeyEvent.KEYCODE_POWER ){
return 0;
}
1. 在GlobalActions类加一个FIELD: boolean isShutdown;
2. 在com.android.internal.policy.impl.GlobalActions.createDialog().new SinglePressAction() {...}.onPress()把isShutdown set 为 true
3. 在com.android.internal.policy.impl.PhoneWindowManager.interceptKeyTq(RawInputEvent, boolean) 开头加以下代码:
if (mGlobalActions != null && mGlobalActions.isShutdown && event.keycode==KeyEvent.KEYCODE_POWER ){
return 0;
}