Android Lollipopには、いつでもオンにできるバッテリーセーバーモードが導入されました。バッテリーが15%以下になると、デフォルトでオンになります。バッテリーセーバーは重要な情報を提供するアニメーションを無効にするため、これは私のアプリに問題を引き起こします。 (コンテキストを提供するために、私のアプリではユーザーがAndroid Wear Watch Faceを構成できます。新しい「テーマ」を保存すると、テーマがアクションバーのボタンに移動するようにアニメーション化されます。彼らはそれがどこに保存されたかを知っています。アニメーションがバッテリーセーバーによって無効にされている場合、それらが保存を押しても何も起こりません。これは混乱を招くと思います。)
それで、バッテリーセーバーがオンになっているかどうかをプログラムで判断する方法はありますか?そうすれば、トーストを表示するなど、アニメーションの代替手段を提供できます。
見てください 電源マネージャー
バッテリーセーバーがオンになっているかどうかを通知するメソッド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();
}
In Android Lollipop _Battery saver
_には、_Battery saver
_がOn
またはOff
のようにisPowerSaveMode()
boolean
vlueを返します。