1. Nimm jetzt an unserem Uhans - 3. ADVENT - Gewinnspiel teil - Alle Informationen findest Du hier!

Smartphone vom Ruhezustand in Betriebszustand bringen?

Dieses Thema im Forum "Android App Entwicklung" wurde erstellt von Tom299, 06.01.2012.

  1. Tom299, 06.01.2012 #1
    Tom299

    Tom299 Threadstarter Android-Experte

    Beiträge:
    602
    Erhaltene Danke:
    120
    Registriert seit:
    31.08.2011
    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

    Beiträge:
    3,389
    Erhaltene Danke:
    441
    Registriert seit:
    09.05.2009
    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

    Beiträge:
    40
    Erhaltene Danke:
    8
    Registriert seit:
    30.10.2011
    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 bedankt sich.
  4. Tom299, 06.01.2012 #4
    Tom299

    Tom299 Threadstarter Android-Experte

    Beiträge:
    602
    Erhaltene Danke:
    120
    Registriert seit:
    31.08.2011
    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

    Beiträge:
    40
    Erhaltene Danke:
    8
    Registriert seit:
    30.10.2011
  6. Tom299, 06.01.2012 #6
    Tom299

    Tom299 Threadstarter Android-Experte

    Beiträge:
    602
    Erhaltene Danke:
    120
    Registriert seit:
    31.08.2011
    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

    Beiträge:
    3,389
    Erhaltene Danke:
    441
    Registriert seit:
    09.05.2009
    trotz warnungen, dass du den wake lock lieber nicht verwenden sollst, machst es trotzdem ?
     
  8. fr3ak2k2, 07.01.2012 #8
    fr3ak2k2

    fr3ak2k2 Neuer Benutzer

    Beiträge:
    14
    Erhaltene Danke:
    1
    Registriert seit:
    21.10.2011
    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

    Beiträge:
    602
    Erhaltene Danke:
    120
    Registriert seit:
    31.08.2011
    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 ;-)
     

Diese Seite empfehlen