解决办法就是根据Android 13的方法修改,当省电模式的状态改变后延时设置按钮的状态。 其实最开始我想到的办法不能快速连点,但是效果还是不好,偶尔还是会出现灰屏。
BatterySaverButtonPreferenceController.java中修改以下代码
private static final long SWITCH_ANIMATION_DURATION = 350L;
@Override
public void onPowerSaveModeChanged() {
mHandler.postDelayed(new Runnable() {
@Override
public void run() {
final boolean isChecked = isChecked();
if (mPreference != null && mPreference.isChecked() != isChecked ) {
mPreference.setChecked(isChecked);
}
}
},SWITCH_ANIMATION_DURATION);
}