19

Android Lollipop hat einen Energiesparmodus eingeführt, der jederzeit aktiviert werden kann und standardmäßig aktiviert wird, wenn der Akku 15% oder weniger einnimmt. Dies stellt ein Problem für meine App dar, da der Batteriesparmodus Animationen deaktiviert, die wichtige Informationen liefern. (Nur um Kontext zu geben, ermöglicht es meine App, ein Android Wear-Zifferblatt zu konfigurieren. Wenn sie ein neues "Thema" speichern, animiere ich das Thema zu einer Schaltfläche in der Aktionsleiste, damit sie wissen, wo sie gespeichert wurde Animationen werden durch den Batteriesparer deaktiviert, nichts passiert, wenn sie speichern, was ich denke, wäre verwirrend.)So überprüfen Sie, ob der Android Lollipop-Energiesparmodus aktiviert ist

Also, gibt es eine Möglichkeit, programmgesteuert zu bestimmen, ob der Energiesparmodus aktiviert ist? Auf diese Weise kann ich eine Alternative zu den Animationen wie Toast anzeigen.

Antwort

31

Werfen Sie einen Blick auf power manager

Es wurde ein Verfahren isPowerSaveMode(), die Ihnen sagen, wenn Batteriespar auf

Beispiel-Code ist:

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(); 
} 
0

In Android Battery saver Lutscher hat ihre eigenen Methoden, die sagt Ihnen entweder Battery saver ist On oder Off wie isPowerSaveMode(), die eine boolean vlue zurückgibt.

Verwandte Themen