Brauche Hilfe beim Programmieren: Display Stand-By verhindern.

  • Antworten:10
  • Bentwortet
Sam Browder
  • Forum-Beiträge: 236

23.11.2012, 14:17:55 via Website

Hallo!
Ich brauche Hilfe beim Programmieren!
Und zwar, während eine bestimmte Activity läuft, soll das Display sich nicht ausschalten - so Lange, bis die Activity beendet wird.
Danke im Voraus!

— geändert am 23.11.2012, 14:30:01

Antworten
Matthias Korte
  • Forum-Beiträge: 7

23.11.2012, 15:14:26 via Website

Hallo,

probiere mal folgendes:

1PowerManager pm = (PowerManager) getSystemService(Context.POWER_SERVICE);
2 PowerManager.WakeLock wl = pm.newWakeLock(PowerManager.SCREEN_DIM_WAKE_LOCK, "My Tag");
3 wl.acquire();
4
5// Hier der Code der ausgeführt wird (solange wird der StandBy Modus nicht aktiviert)
6
7 wl.release();

Grüße,
Matthias

— geändert am 23.11.2012, 15:14:39

Antworten
Gelöschter Account
  • Forum-Beiträge: 15

23.11.2012, 19:09:35 via Website

Hallo,

Du kannst in der Activity auch einfach dass verwenden:

1getWindow().addFlags(LayoutParams.FLAG_KEEP_SCREEN_ON);

Gruß

Sam Browder

Antworten
Sam Browder
  • Forum-Beiträge: 236

23.11.2012, 19:29:06 via Website

Hallo!
Tut mir leid, hat jetzt etwas länger gedauert.
Die Möglichkeit von @Undercoverkeks bekomme ich nicht adoptiert - Eclipse findet die entsprechenden Bibliotheken nicht ("LayoutParams"), oder muss man zuerst eine Variable definieren???
Die Möglichkeit von @Matthias Korte bekomme ich zwar adoptiert, aber beim start der Activity bekomme ich einen App Absturz.
Braucht man dafür auch irgendwelche Permissions im Manifest?

— geändert am 23.11.2012, 19:35:04

Antworten
Gelöschter Account
  • Forum-Beiträge: 281

23.11.2012, 19:54:28 via Website

Folgendes sollte in deinem Manifest auftauchen
1<uses-permission android:name="android.permission.WAKE_LOCK" />

Solltest auch beachten, den WakeLock in onPause freizugeben und in onResume wieder zu aquirieren. Falls deine App mehrere Komponenten / Activities hat, könnte es auch Sinn machen, die Verwaltung des Wakelocks in eine eigene Tool-Klasse auszulagern.

Antworten
Sam Browder
  • Forum-Beiträge: 236

23.11.2012, 20:12:13 via Website

Das, mit der eigenen Klasse ist eine gute Idee!
So, es funktioniert so weit, aber das Display wird trotzdem nach 1 min dunkler. Der schaltet sich zwar nicht komplett ab, fährt aber die Helligkeit herunter.
Gibt es eine Möglichkeit auch das zu verhindern - der soll permanent in der Ausgangshelligkeit weiterarbeiten.

Antworten
Gelöschter Account
  • Forum-Beiträge: 281

23.11.2012, 20:38:08 via Website

Ja, du musst statt PowerManager.SCREEN_DIM_WAKELOCK PowerManager.FULL_WAKELOCK verwenden.

Antworten
Sam Browder
  • Forum-Beiträge: 236

23.11.2012, 20:39:43 via Website

Ok.
Vielen Dank!

Antworten
Sam Browder
  • Forum-Beiträge: 236

23.11.2012, 22:40:25 via Website

Komisch...
In einer Activity funktioniert, in einer anderen nicht: Bildschirm schaltet sich trotzdem ab. Woran kann es liegen?

Antworten
Gelöschter Account
  • Forum-Beiträge: 15

24.11.2012, 10:37:45 via Website

Hallo,

LayoutParams ist in
1import android.view.WindowManager.LayoutParams;

Das Eclipse es nicht findet muss ein Bug sein. Man muss es eben manuell importieren.
Das praktische ist das du dich damit nicht mehr um den WakeLock kümmern musst.
Solange man den Bildschirm nicht ausschaltet geht er auch nicht aus.

Gruß

— geändert am 24.11.2012, 14:49:08

Sam Browder

Antworten
Sam Browder
  • Forum-Beiträge: 236

24.11.2012, 15:27:10 via Website

Ja, jetzt funktioniert es prima, und überall (im Gegensatz zur ersten Lösung)! Und ich brauche die WAKE_LOCK Permission nicht mehr - je weniger Permissions, desto besser! :lol::lol::lol:
Danke!

— geändert am 24.11.2012, 15:28:26

Antworten