让Android不播放关机动画,而是显示一个关机进度条的方法

修改文件:
frameworks/base/core/java/com/android/internal/app/ShutdownThread.java

synchronized (mEnableAnimatingSync) {
if(!mEnableAnimating){
sInstance.mPowerManager.setBacklightBrightness(Power.BRIGHTNESS_DIM);
} else {
//add by bcf,将播放动画的BOOLEAN值设置为假,就不播放动画了,而是显示一个进度条+正在关机的字样
mShutOffAnimation=false;
//add end
if (mShutOffAnimation) {
boolean isRotaionEnabled = false;
try {
isRotaionEnabled = Settings.System.getInt(sInstance.mContext.getContentResolver(),
Settings.System.ACCELEROMETER_ROTATION, 1) != 0;
if (isRotaionEnabled) {
Settings.System.putInt(sInstance.mContext.getContentResolver(),
Settings.System.ACCELEROMETER_ROTATION, 0);
Settings.System.putInt(sInstance.mContext.getContentResolver(),
Settings.System.ACCELEROMETER_ROTATION_RESTORE, 1);
}
} catch (NullPointerException ex) {
Log.e(TAG, "check Rotation: sInstance.mContext object is null when get Rotation");

}
beginAnimationTime = SystemClock.elapsedRealtime() + MIN_SHUTDOWN_ANIMATION_PLAY_TIME;
// +MediaTek 2012-02-25 Disable key dispatch
try {
final IWindowManager wm = IWindowManager.Stub.asInterface(
ServiceManager.getService(Context.WINDOW_SERVICE));
wm.setEventDispatching(false);
} catch (RemoteException e) {}
// -MediaTek 2012-02-25 Disable key dispatch
startBootAnimation();
} else {
pd = new ProgressDialog(context);
pd.setTitle(context.getText(com.android.internal.R.string.power_off));
pd.setMessage(context.getText(com.android.internal.R.string.shutdown_progress));
pd.setIndeterminate(true);
pd.setCancelable(false);
pd.getWindow().setType(WindowManager.LayoutParams.TYPE_KEYGUARD_DIALOG);

/* To fix video+UI+blur flick issue */
pd.getWindow().addFlags(WindowManager.LayoutParams.FLAG_DIM_BEHIND);

pd.show();
}
/* set screen brightness off after shutdownThread start */
sInstance.mHandler.postDelayed(mDelayDim, screen_turn_off_time);
}
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值