2012-03-26 2 views
0

Derzeit verwende ich IntentService, um URLs in der Browser.apk zu wiederholen. Ich lasse es laufen, bis die Batterie leer ist. Hier ist mein schmutziger Code. =)Wie wird der Bildschirm eingeschaltet, während URLs im Browser.apk wiederholt werden?

@Override 
protected void onHandleIntent(Intent intent) { 
    int size = intent.getStringArrayExtra("addresses").length; 
    int counter = sp.getInt("counter", 0); 
    String address = intent.getStringArrayExtra("addresses")[counter]; 
    Intent i = new Intent(Intent.ACTION_VIEW); 

    i.setData(Uri.parse(address)); 
    i.setFlags(Intent.FLAG_FROM_BACKGROUND | Intent.FLAG_ACTIVITY_REORDER_TO_FRONT | Intent.FLAG_ACTIVITY_NEW_TASK); 
    startActivity(i); 

    counter++; 
    if(counter == size) { 
     counter = 0; 
    } 
    spe.putInt("counter", counter); 
    spe.commit(); 
} 

Ich habe versucht, wakelock zu verwenden, aber nicht alle Geräte bleiben wach. Es funktioniert mit Motorola Xoom, aber nicht in Thinkpad Tablet-Slate.

Kennen Sie andere Option als die Verwendung des Wakelock. Oder Wie soll ich den Wakelock richtig umsetzen?

Kann ich dem Browser mitteilen, dass ich den Bildschirm beim Laden der URLs einschalten soll? Durch Verwendung von Absicht oder anderen Mitteln.

Antwort

1

Für offenen den Bildschirm des Geräts, wenn das Gerät im Schlafmodus befindet, verwenden Sie den Code unten:

 //acquireLock(context); 
PowerManager pm = (PowerManager)context.getSystemService(Context.POWER_SERVICE); 
     boolean isScreenOn = pm.isScreenOn(); 
     Log.e("screen on.................................", ""+isScreenOn); 
     if(isScreenOn==false) 
     { 
       WakeLock wl = pm.newWakeLock(PowerManager.FULL_WAKE_LOCK |PowerManager.ACQUIRE_CAUSES_WAKEUP |PowerManager.ON_AFTER_RELEASE,"MyLock"); 
       wl.acquire(10000); 
       WakeLock wl_cpu = pm.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK,"MyCpuLock"); 
       wl_cpu.acquire(10000); 
     } 
+0

Danke Pradeep! Hier ist was ich getan habe. mWakeLock = mPowerManager.newWakeLock (PowerManager.FULL_WAKE_LOCK | PowerManager.ACQUIRE_CAUSES_WAKEUP | PowerManager.ON_AFTER_RELEASE, TAG); mWakeLock.acquire(); – quiel

+0

Ich habe nur eine Sorge, ich erwerbe immer() das Wakelock und lasse es nicht los. Was wird seine Auswirkung anders als es wird meine Batterie entladen? – quiel

+0

Die einzige Auswirkung auf den Batterieverbrauch des Geräts ... –