So halten Sie die Anwendung wach im hintergrund
Ich eine Anwendung Programmieren, die ist verbunden mit bluetooth-Gerät in einem Auto (im hintergrund) und navigation (oder etwas anderes) in den Vordergrund stellen.
Aber auf android 7+ (vielleicht auch 6), application schlafen gehen nach einiger Zeit. Wenn ich versuche zu nehmen Bild von der Kamera in den "sleep-Modus" wird sofort und meine app wird schlafen jetzt (keine bluetooth-Verbindung, keine Benachrichtigung) - einfach tot-app.
Muss ich gehen, um die zuletzt verwendeten apps -> klicken Sie auf meine app und das machen die "wake up". Bluetooth ist nun die Verbindung zum Gerät wieder.
Aber ich kann nicht noch prüfen, ob die app schläft oder nicht. So, wie halten Sie die app wach, auch im hintergrund?
Las ich etwas über WakeLock, aber es sieht aus wie es nicht funktioniert, Ursache-app noch schlafen. BUút vielleicht verwende ich es falsch.
PowerManager pm = (PowerManager) getSystemService(Context.POWER_SERVICE);
wk = pm.newWakeLock(PowerManager.FULL_WAKE_LOCK, "MyWakeLock");
wk.acquire();
und onDestroy
wk.release();
Dank
- Vielleicht brauchen Sie ein service
Du musst angemeldet sein, um einen Kommentar abzugeben.
Aus der Android-API-23 vorwärts, die Google eingeführt hat
Doze mode
undApp Standby
um den Akku zu schonen. Wenn ein Gerät in den doze-Modus oder eine app eingibtApp Standby
alle Aufgaben durchgeführt, indem eine app verschoben hat. Wir hatten ein Problem mit einem Alarm wurde nicht gefeuert, weil der gleiche. Wenn Sie Lesen, auf Dokumente, Sie werden feststellen, dass mit einem Wake-Lock ist nicht gonna helfen.Also, wenn Sie wollen, zu umgehen, alle diese, Ihre app muss einen Prozess haben, in den Vordergrund. Mal wieder aus der gleichen doc -
In Ihrem Fall ein Dienst ausgeführt und erhöhen Sie die Priorität in den Vordergrund zu stellen.
für wakelock zu arbeiten, u sollten Sie diese Zeile in Ihre androidmanifest-Datei am Anfang. aber als Ajay sagte,, u sollte einen Dienst nutzen, so dass der Dienst arbeitet im hintergrund und machen den job, aber wenn Sie möchten, halten Sie den Bildschirm auf, das ist etwas anderes, das ich denke, es ist hier nicht der Fall.
warum nutzen Sie nicht service? WakeLock grundsätzlich hält den Bildschirm, auf dem nicht ein effizienter Mechanismus
https://developer.android.com/training/scheduling/wakelock.html
xml-layout-Datei unter layout-Typ:
android:keepScreenOn="true">