2016-06-09 5 views
0
  1. Gibt es Callbacks im Doze-Modus (auf Doze erste/zweite Ebene, am Anfang/Ende des Wartungsfensters)?
  2. Gibt es eine Möglichkeit zur Problemumgehung Doze-Modus, der nicht von der Benutzergenehmigung abhängig ist?
  3. In früheren Versionen (Android M und kleiner) habe ich Android Service und teilweise Wake Lock verwendet, um Daten herunterzuladen und zu verarbeiten, während die Anwendung im Hintergrund war. Gibt es eine Möglichkeit, Daten im Hintergrund herunterzuladen und zu verarbeiten, wenn Android N in den Doze-Modus versetzt wird?

Antwort

2

Gibt es Modus Rückrufe auf dösen (auf Doze ersten/zweiten Ebene, auf die Start/Ende des Wartungsfensters)?

Wenn Sie einen laufenden Prozess haben, können Sie einen Empfänger für the ACTION_DEVICE_IDLE_MODE_CHANGED und ACTION_POWER_SAVE_MODE_CHANGED broadcasts registrieren. Ersteres sollte dem Doze-Modus entsprechen.

Gibt es eine Möglichkeit zur Problemumgehung Doze-Modus, der nicht von der Benutzergenehmigung abhängig ist?

Ich weiß nicht, was "Workaround Doze-Modus" bedeutet. Sie können die ...AndAllowWhileIdle() Methoden auf AlarmManager verwenden, obwohl ich gemischte Ergebnisse hatte. Sie können GCM (oder FCM heutzutage) verwenden. Siehe the documentation.

In früheren Versionen (Android M und kleiner) habe ich Android Service und teilweise Wake Lock verwendet, um Daten herunterzuladen und zu verarbeiten, während die Anwendung im Hintergrund war.

Ihre partielle Wecksperre sollte im Doze-Modus auf Android 6.0 widerrufen werden (a.k.a., M). In ähnlicher Weise sollten Sie im Doze-Modus auf Android 6.0 keinen Internetzugang haben.

Gibt es eine Möglichkeit, Daten im Hintergrund herunterzuladen und zu verarbeiten, wenn Android N in den Doze-Modus versetzt wird?

Für den vollständigen Doze-Modus scheint Android N die Dinge nicht zu ändern. Für den partiellen Doze-Modus, den Android N einführt, sollte Ihre teilweise Wecksperre funktionieren, obwohl ich mich über den Netzwerkzugriff nicht sicher bin.

0
  1. In früheren Versionen (Android M und kleine) I verwendet Android-Service und Teil-Wach-Sperre zum Herunterladen und Prozessdaten während der Anwendung im Hintergrund war. Gibt es eine Möglichkeit, Daten im Hintergrund herunterzuladen und zu verarbeiten, wenn Android N in den Doze-Modus gerät?

Wenn Gerät in den Doze-Modus die meisten Funktionen in CPU stoppt Tatsache de aufgrund stoppen, sollte die Art und Weise Doze-Modus zu vermeiden sein, geben Sie ein:

Die Sache, die für mich funktioniert, ist ein Vordergrund Service zu nutzen , das ist ein Dienst, der startForeground() (1) aufruft und eine nicht abweisbare Benachrichtigung anzeigt, dann wird die teilweise Wake-Sperre eingehalten und das Gerät geht nicht in den Doze-Modus.

(1) bei Android 8 Das Verfahren beginnt einen Vordergrunddienst zu starten hat Android O - Old start foreground service still working?

geändert