Smartphone vom Ruhezustand in Betriebszustand bringen?

T

Tom299

Stammgast
122
Hallo zusammen,

ist es eigentlich möglich, das Smartphone per Code in den Betriebszustand zu bringen?

Also z.B. ich stell ne Anfrage an einen Server und diese Anfrage dauert mehrere Minuten, egal wieso. Ich leg das Smartphone wieder bei Seite und nach 10s wird das Disyplay dunkel und das Smartphone ist wieder gesperrt.
Will ich wissen, ob der Server schon geanwortet hat, muß ich wieder das Display aktivieren, das Phone entsperren und dann hab ich meine letzte Anwendung wieder vor mir und sehe, ob die Antwort schon da ist oder nicht.

Gibt es die Möglichkeit, daß das Phone automatisch wieder in diesen "Betriebszustand" gesetzt werden kann oder geht das nicht?

Wenn nicht, kann man einer App sagen, daß sie immer "an" bleiben soll, also daß das Phone nie in den Schlafmodus geht, nicht eher, bis die App beendet wird? Das wäre die andere Möglichkeit.


Viele Grüße,
Tom
 
der user wird keinen spaß haben wenn du den bildschirm nicht deaktivieren lässt. der akku wird dich auch nicht mögen.

einfach die arbeit in einen service verlagern. wenn die arbeit fertig ist, dann eine notification losschicken und der user wird benachrichtigt. was er dazwischen tut, ist völlig egal. bildschirm abdrehen, was spielen, mails lesen, egal
 
Das ganze nennt sich WakeLock.
Ich würde aber nicht für die gesamte Dauer den Bildschirm hell lassen, sondern wenn die App die Antwort bekommt den Bildschirm aufdrehen und wenn der User nicht reagiert wieder ab, damit du ihm nicht den ganzen Akku aussaugst.

Gruß
-Lightning2010
 
  • Danke
Reaktionen: Tom299
Danke, das war das Schlüsselwort, das mir gefehlt hat zum googeln ;-)

Hab ein Beispiel gefunden, wie man den Bildschirm nicht ausschaltet, das funktioniert auch. Beim Test auf dem Handy wurde der Bildschirm schon etwas gedimmt, aber er wird halt nicht ausgeschaltet, was ja ok ist.

Allerdings hab ich es auch umgekehrt versucht, also Bildschirm ausschalten lassen und nach 20s wieder versucht anzuschalten, aber da kommt gleich ein Fehler:

Code:
Caused by: java.lang.SecurityException: Neither user 10106 nor current process has android.permission.DEVICE_POWER.

mein Codesnippet:
Code:
    	final PowerManager pm = (PowerManager) getSystemService(Context.POWER_SERVICE);
//        mWakeLock = pm.newWakeLock(PowerManager.SCREEN_DIM_WAKE_LOCK, "My Tag");
        pm.goToSleep(5000);
//        this.mWakeLock.acquire();
        Thread t = new Thread(new Runnable() {
			@Override
			public void run() {
				try {
					Thread.sleep(20000);
					pm.userActivity(2000, true);
				}
				catch (InterruptedException ie) {
					
				}
			}
		});
        t.start();

Das mit dem WakeLock hab ich auskommentiert, die Richtung hat ja funktioniert. Aber wenn ich es über den PowerManager versuche, rappelts im Karton ;-)

Und ja, in der Manifest hab ich den Eintrag gemacht:
Code:
<uses-permission android:name="android.permission.DEVICE_POWER"></uses-permission>
 
Danke für die Info und den Link ... dann bleib ich bei der 1. Variante :)
 
trotz warnungen, dass du den wake lock lieber nicht verwenden sollst, machst es trotzdem ?
 
Naja, also so schlimm is das mitm WakeLock ja nicht, was natürlich sehr nachteilig is, ist dass der Akku natürlich drunter leidet.

Habe auch schon mit nem Partial WakeLock gearbeitet...funktioniert auch recht gut..
 
Meine App ist ein Spiel, von daher sollte der User in der Wartezeit ja nicht anderen Dingen nachgehen, wenn es mal etwas länger dauert. Er kann ja immer noch Cancel drücken ;-)
 

Ähnliche Themen

D
Antworten
23
Aufrufe
2.542
Data2006
D
OnkelLon
Antworten
13
Aufrufe
1.983
OnkelLon
OnkelLon
Zurück
Oben Unten