서비스에서 카운트 다운 타이머를 사용하고 있습니다. 타이머는 01,02,03과 같이 계속 진행됩니다. 모든 것이 제대로 작동합니다. 그러나 장치 화면 잠금 타이머 느리지 만 계속 실행됩니다. PowerManager를 사용하고 있지만 작동하지 않습니다 .PowerManager는 PC에 연결된 USB 케이블이 작동하지만 PC 타이머에서 장치를 제거 할 때만 작동합니다. 왜이 문제가 발생하는지 모르겠습니다. 제발 도와주세요. 이 문제를 해결하려면. advace.Below 내 코드에 감사드립니다.타이머 서비스 화면이 잠길 때 서비스가 느려짐
@Override
public void onCreate(){
super.onCreate();
PowerManager pm = (PowerManager)getSystemService(Context.POWER_SERVICE);
wl = pm.newWakeLock(PowerManager.FULL_WAKE_LOCK | PowerManager.ACQUIRE_CAUSES_WAKEUP, "whatever");
wl.acquire();
}
@Override
public void onStart(Intent intent, int startId) {
super.onStart(intent, startId);
flagVibrate=intent.getBooleanExtra("FlagVibrate",false);
if(mStartTime == 0L){
mStartTime = SystemClock.uptimeMillis();
mHandler.removeCallbacks(mUpdateTimeTask);
mHandler.postDelayed(mUpdateTimeTask, 100);
}
}
@Override
public void onDestroy() {
super.onDestroy();
mHandler.removeCallbacks(mUpdateTimeTask);
stopSelf();
wl.release();
}
private Runnable mUpdateTimeTask = new Runnable(){
public void run() {
final long start = mStartTime;
long millis = SystemClock.uptimeMillis()- start;
int seconds = (int) (millis/1000);
int stopTime = (int) (millis/1000);
int minutes = seconds/60;
seconds = seconds % 60;
GuardMeActivity.timerView.setText("" + minutes + ":"
+ String.format("%02d", seconds));
timerStop1 = minutes + ":"
+ String.format("%02d", seconds);
}
}
};
는 당신이'주어진 적이 <사용 - 권한 안드로이드 : 이름 = "android.permission.WAKE_LOCK"/>'권한을 매니페스트에? – Vigbyor
예. 이미이 권한을 부여했습니다 .PowerManager는 USB 케이블을 PC에 연결했지만 PC 타이머에서 장치를 제거 할 때만 작동합니다. –