1. Hast Du Lust, bei uns mitzuarbeiten und das AH-Team zu verstärken? Alle Details zu dieser aktuellen Herausforderung findest Du hier.
  1. Tom299, 06.01.2012 #1
    Tom299

    Tom299 Threadstarter Android-Experte

    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
     
  2. swordi, 06.01.2012 #2
    swordi

    swordi Gewerbliches Mitglied

    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
     
  3. Lightning2010, 06.01.2012 #3
    Lightning2010

    Lightning2010 Junior Mitglied

    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
     
    Tom299 gefällt das.
  4. Tom299, 06.01.2012 #4
    Tom299

    Tom299 Threadstarter Android-Experte

    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>
    
     
  5. Lightning2010, 06.01.2012 #5
    Lightning2010

    Lightning2010 Junior Mitglied

  6. Tom299, 06.01.2012 #6
    Tom299

    Tom299 Threadstarter Android-Experte

    Danke für die Info und den Link ... dann bleib ich bei der 1. Variante :)
     
  7. swordi, 06.01.2012 #7
    swordi

    swordi Gewerbliches Mitglied

    trotz warnungen, dass du den wake lock lieber nicht verwenden sollst, machst es trotzdem ?
     
  8. fr3ak2k2, 07.01.2012 #8
    fr3ak2k2

    fr3ak2k2 Neuer Benutzer

    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..
     
  9. Tom299, 08.01.2012 #9
    Tom299

    Tom299 Threadstarter Android-Experte

    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 ;-)
     
Die Seite wird geladen...
Ähnliche Themen Forum Datum
[ERLEDIGT] Eingabe auf Webseite über API mit Smartphone autorisieren Android App Entwicklung 31.05.2017
Zuständige Libraries für Harwarekomponenten im Androidstudio finden Android App Entwicklung 08.03.2017
TextView in den Vordergrund bringen Android App Entwicklung 13.02.2017
Kommunikation zwischen 2 Smartphones herstellen Android App Entwicklung 07.01.2017
Du betrachtest das Thema "Smartphone vom Ruhezustand in Betriebszustand bringen?" im Forum "Android App Entwicklung",