私はアンドロイドサービスを利用しています。私はデバイスがスリープ状態であってもサービスを常に実行したい。しかし、私のデバイスがスリープ状態になると、私のサービスは停止します。これは私のコードアンドロイドデバイスがスリープ状態のときにAndroidサービスが動作しなくなる
@Override
public int onStartCommand(Intent intent, int flags, int startId) {
isRunning = true;
mythread = new Thread() {
@Override
public void run() {
while (isRunning) {
turnOnScreen(60000*3);
//Download some information by android Volley request
downloadInfo();
try {
Thread.sleep(60000*2);
} catch (InterruptedException e) {
isRunning = false;
e.printStackTrace();
}
}
}
};
if (isRunning) {
if (!mythread.isAlive()) {
mythread.start();
}
}
return START_REDELIVER_INTENT;
}
され、turnOnScreen方法は
private void turnOnScreen(long milliSeconds){
PowerManager mgr = (PowerManager)this.getSystemService(this.POWER_SERVICE);
PowerManager.WakeLock wakeLock = mgr.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK, "MyWakeLock");
wakeLock.acquire(milliSeconds);
}
ある人を助けてください。前もって感謝します。