安全模式或开发者模式动画程序关闭动画时长缩放,动画最好不要执行

安全模式或开发者模式动画程序关闭动画时长缩放,动画最好不要执行。


执行动画的结果:循环动画会闪烁,缩放动画不会执行。


解决:在安全模式或开发者模式动画程序关闭动画时长缩放时,不要执行动画。

1、PowerManager.isPowerSaveMode()

2、Settings.Global.ANIMATOR_DURATION_SCALE


boolean isPowerSaveMode() {
    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
        if (mPowerManager.isPowerSaveMode()) {
            return true;
        }
    }
    return isAnimatorDurationScale();
}

private boolean isAnimatorDurationScale() {
   float animatorDurationScale =
                    Settings.Global.getFloat(getContentResolver(), Settings.Global.ANIMATOR_DURATION_SCALE, 1f);

    if (animatorDurationScale == 0) {
        return true;
    }
    return false;
}
 
这里特别注意:Settings.Global.ANIMATOR_DURATION_SCALE是没有默认值的,所以一定要写个默认值为1f
 
 
 
Settings.Global类
http://developer.android.com/reference/android/provider/Settings.Global.html#ANIMATOR_DURATION_SCALE



疑问点:

Launcher中有getPackageManager().isSafeMode(),注释是Return whether the device has been booted into safe mode.

返回安全模式,和PowerManager.isPowerSaveMode()不知道是不是相同的意思。安全模式是api17引入的,PowerManager.isPowerSaveMode()和我们想要的结果更接近。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值