2016-08-22 4 views
17

Einige Samsung-Geräte haben einen Ultra-Energiesparmodus, der Wifi ausschaltet, den Bildschirm in Graustufen umwandelt und die Nutzung auf einige einfache Apps beschränkt.Wie kann ich meine Android-App im Ultra-Energiesparmodus erscheinen lassen?

Es erlaubt Ihnen jedoch, einige Anwendungen hinzuzufügen, die dann verwendet werden können. Zu diesen Apps gehören Facebook und WhatsApp. Wie kann ich meine App in dieser Liste anzeigen lassen? Welche Änderungen muss ich an der App vornehmen, damit sie in dieser Liste angezeigt wird? Oder basiert diese Liste auf einer von Samsung gepflegten Weißen Liste?

+0

Dies könnte Ihnen helfen http://forum.xda-developers.com/showthread.php?t=2750393 – teivaz

+5

Die lustige Sache ist, dass Facebook ist in Ultra-Energiesparmodus Liste :) –

+1

Wenn Ihre App eine Menge tut Hintergrundarbeit, Samsungs integrierte Batterie-Apps werden es automatisch einfügen. Wenn beispielsweise Ihre App den Standort in einem Dienst erfasst oder JobSchedulars verwendet, um in der Zukunft Arbeit zu leisten, werden Ihre Chancen verbessert, dass Sie auf dieser Liste stehen. Obwohl ich nicht wirklich sicher bin, warum du da sein willst. – Dus

Antwort

4

Möglicherweise ist es möglich, die Berechtigung REQUEST_IGNORE_BATTERY_OPTIMIZATIONS zu verwenden. Diese Berechtigung erfordert keine ausdrückliche Benutzerberechtigung. So wird gewährt. Dies verhindert zwar nicht, dass ein Benutzer die Anwendung manuell beendet.

Von the docs:

Dies ist eine normale Genehmigung: eine App Auffordern es wird immer gewährt wird die Erlaubnis, ohne dass der Benutzer braucht es zu genehmigen oder zu sehen.

ACTION_REQUEST_IGNORE_BATTERY_OPTIMIZATIONS wird die App auf die Whitelist des Geräts setzen.

isIgnoringBatteryOptimizations werden Sie wissen lassen, ob die App auf der weißen Liste ist.

einige Noten von the docs:

Hinweis: die meisten Anwendungen sollte dies nicht verwenden; Es gibt viele Einrichtungen von der Plattform für Anwendungen zur Verfügung gestellt, um in den verschiedenen Energiesparmodi ordnungsgemäß zu funktionieren. Dies ist nur für ungewöhnliche Anwendungen, die tief ihre eigene Ausführung zu kontrollieren, bei der potenziellen Kosten Akkulaufzeit des Benutzers. Beachten Sie, dass diese Anwendungen das Risiko der Benutzer als High-Power-Verbraucher auf ihre Gerät zeigen.

Eingabe: Der Daten-URI der Intent muss den Anwendungspaketnamen angeben, der mit dem "Paket" -Schema angezeigt werden soll. Das ist "Paket: com.my.app".

Es ist nicht etwas, das ich empfehlen würde missbrauchen.

Es gibt eine Liste von Acceptable Use Cases for Whitelisting.

Im Allgemeinen Ihre Anwendung sollte nicht auf der weißen Liste sein, es sei denn Doze oder App Standby die Kernfunktion der App brechen oder es ist ein technischer Grund, warum Ihre Anwendung kann nicht FCM Nachrichten mit hoher Priorität verwenden.

Danke an adsamcik für diesen neuesten Link.

+0

Das Deaktivieren der Akkuoptimierungen auf dem Gerät erfordert Benutzeraktionen. Sie müssen entweder einen Dialog bestätigen, wenn Sie ACTION_REQUEST_IGNORE_BATTERY_OPTIMIZATIONS verwenden, oder sie selbst deaktivieren. Die Google Play-Richtlinien verbieten Apps außerdem die direkte Ausnahme von den Energieverwaltungsfunktionen in Android 6.0 und höher (Doze und App Standby), es sei denn, die Kernfunktion der App wird beeinträchtigt. https://developer.android.com/training/monitoring-device-state/doze-standby.html#whitelist-cases – adsamcik

+0

@adsamcik guten Link, den Sie dort zur Verfügung gestellt haben. Ich habe das Zitat hinzugefügt, dass es es lautlos tut und ja, es gibt Einschränkungen. Danke für das Feedback - es musste verbessert werden –

+0

Ich musste es vor kurzem selbst implementieren, damit ich weiß, wie es aus erster Hand funktioniert. Sie erhalten die Berechtigung, aber diese Berechtigung ermöglicht Ihnen nur, die Absicht "ACTION_REQUEST_IGNORE_BATTERY_OPTIMIZATIONS" zu senden. Diese Absicht zeigt dem Benutzer einen Dialog an, in dem er fragt, ob er die Batterieoptimierung deaktivieren möchte oder nicht. Ich fand ein Beispiel für diesen Dialog (der Text unterscheidet sich von Version zu Version) https://commonsware.com/blog/images/ignore-batt-opt-dialog.png – adsamcik

Verwandte Themen