24

Android Lollipop 引入了一种可以随时开启的省电模式,当电池电量为 15% 或更低时默认开启。这给我的应用程序带来了问题,因为省电模式会禁用提供关键信息的动画。(只是为了提供上下文,我的应用程序允许用户配置一个 Android Wear 表盘;当他们保存一个新的“主题”时,我将主题动画移动到操作栏上的一个按钮,以便他们知道它被保存到哪里。当动画被电池保护程序禁用,当他们点击保存时没有任何反应,我认为这会令人困惑。)

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

4

2 回答 2

39

看看电源管理器

它有一种方法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();
}
于 2015-08-08T17:51:36.953 回答
-1

在 Android 棒棒糖Battery saver有自己的方法,告诉你要么Battery saverOn要么Off喜欢isPowerSaveMode()哪个返回一个booleanvlue。

于 2015-08-08T19:27:53.260 回答