如何检查 Android Lollipop 省电模式是否开启

How to check if Android Lollipop battery saver is on

Android棒棒糖引入了可以随时开启的省电模式,当电池电量为15%或更低时默认开启。这对我的应用程序造成了问题,因为省电功能会禁用提供关键信息的动画。 (为了提供上下文,我的应用程序允许用户配置 Android Wear 表盘;当他们保存新的 "theme," 时,我将主题动画移动到操作栏上的按钮,以便他们知道它在哪里被保存到。当电池保护器禁用动画时,点击保存时没有任何反应,我认为这会造成混淆。)

那么,有没有办法以编程方式确定节电模式是否开启?这样我就可以提供动画的替代方案,例如显示 Toast。

看看power manager

它有一个方法 isPowerSaveMode() 会告诉您节电模式是否开启

示例代码:

PowerManager powerManager = (PowerManager)
    getActivity().getSystemService(Context.POWER_SERVICE);
if (android.os.Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP
        && powerManager.isPowerSaveMode()) {
    // Animations are disabled in power save mode, so just show a toast instead.
    Toast.makeText(mContext, getString(R.string.toast), Toast.LENGTH_SHORT).show();
}

在 Android 棒棒糖中 Battery saver 有自己的方法告诉你 Battery saverOnOff 就像 isPowerSaveMode() returns一个booleanvlue.