2012-03-26 4 views
0

現在、IntentServiceを使用してBrowser.apk内のURLをループしています。私はバッテリーがなくなるまでそれを実行しています。ここに私の汚れたコードがあります。 =)Browser.apkのURLをループしている間に画面を保持する方法は?

@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(); 
} 

私はwakelockを使用しようとしましたが、すべてのデバイスが起きているわけではありません。それはモトローラXoomで動作していますが、Thinkpadタブレットスレートでは動作しません。

wakelockを使用する以外のオプションがありますか。または、Wakelockを正しく実装するにはどうすればよいですか?

URLを読み込んでいる間に画面をオンにする必要があることをブラウザに伝えることはできますか?意図または他の手段を使用することによって。オープンデバイスの画面については

答えて

1

、デバイスがスリープモードになっている場合、下記のコードを使用します。ここで

 //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

おかげプラディープを!ここに私がしたことがあります。 mWakeLock = mPowerManager.newWakeLock(PowerManager.FULL_WAKE_LOCK | PowerManager.ACQUIRE_CAUSES_WAKEUP | PowerManager.ON_AFTER_RELEASE、TAG); mWakeLock.acquire(); – quiel

+0

私はちょうど1つの心配がある、私は常にwakelockを獲得し、解放しない。それは私のバッテリーを枯渇させる以外の影響は何ですか? – quiel

+0

デバイスのバッテリ消費に唯一の影響は... –

関連する問題