isPowerSaveMode () gibt für Huawei-Geräte immer false zurück

8

Ich implementiere derzeit eine Funktion, bei der Benutzer aufgefordert werden, die Batterieoptimierung für die Anwendung zu ignorieren. Der Grund dafür ist, dass die Hauptfunktionalität der Anwendung leider drastisch vom Energiesparmodus beeinflusst wird.

Um mein Ziel zu erreichen, fordere ich die Benutzer auf, indem Sie Intent erstellen und Action auf ACTION_REQUEST_IGNORE_BATTERY_OPTIMIZATIONS .

Bevor ich Intent starte, überprüfe ich beide auf isPowerSaveMode() und isIgnoringBatteryOptimizations() , um sicherzustellen, dass ich die Benutzer nicht auffordere, wenn der Energiesparmodus nicht aktiviert ist. Das ist eine Voraussetzung für das Feature. Die Art, wie ich das tue, ist durch:

%Vor%

Dies funktioniert für die meisten Geräte, aber für Huawei-Geräte gibt isPowerSaveMode() immer false zurück. Da die Vorbedingungen fehlschlagen, wird die Eingabeaufforderung daher nie angezeigt.

Hat jemand anderes möglicherweise auf dieses Problem gestoßen? Wenn ja, was hast du getan, um es zu lösen?

Beachten Sie, dass das gleiche Problem auch im Xamarin.Android SDK auftritt.

    
Demitrian 17.08.2017, 19:25
quelle

2 Antworten

1

Jeder OEM modifiziert das SDK nach seinen Bedürfnissen. Huawei-Geräte verwenden nicht die Standard-Energiesparfunktion, sondern verwenden etwas namens " Geschützte Apps ". Geschützte Apps sind Apps, die auch dann ausgeführt werden dürfen, wenn der Bildschirm ausgeschaltet ist. Das ist der Grund, warum es immer falsch zurückkehrt. Es ist besser, eine Absicht auf den Bildschirm geschützter Apps zu übertragen, aber es gibt keine Möglichkeit zu wissen, ob Ihre App der Liste geschützter Apps hinzugefügt wird. Was sind geschützte Apps?

    
Sree Vishnu 04.09.2017 17:37
quelle
0

Ich habe das gleiche Problem bei der Implementierung von tragbaren und tragbaren Geräten erlebt. Die einzige Lösung, die ich gefunden habe, ist, den Energiesparmodus für alle Apps zu deaktivieren. Ich würde vorschlagen, das Ergebnis Ihrer Methoden zu erkennen, nachdem Sie diesen Modus für alle Apps deaktiviert haben. Dieser Fehler tritt nur bei Huawei auf. Schrecklicher Verkäufer.

    
Vyacheslav 05.09.2017 09:33
quelle