Temporizador Se ralentiza en Servicio cuando se bloquea la pantalla del dispositivo

Estoy usando un temporizador de cuenta regresiva en un servicio.El temporizador continúa así 01,02,03, …. Todo funciona bien.Pero cuando el bloqueo de la pantalla del dispositivo el temporizador se vuelve lento, pero sigue funcionando.Estoy usando el PowerManager pero No working.PowerManager sólo funciona cuando el cable USB conectado a la PC, pero cuando retiro el dispositivo de tiempo de PC se ralentiza.No sé por qué este problema surge.Por favor, ayúdame a solucionar este problema.Gracias en advace.Below es mi código.

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

Anote el siguiente código en el GuardMeActivity onResume() su actividad onResume() y compruebe el resultado.

Archivos a importar

 import android.view.Window; import android.view.WindowManager; import android.view.WindowManager.LayoutParams; Window window = this.getWindow(); window.addFlags(LayoutParams.FLAG_DISMISS_KEYGUARD); window.addFlags(LayoutParams.FLAG_SHOW_WHEN_LOCKED); window.addFlags(LayoutParams.FLAG_TURN_SCREEN_ON); 
  • ¿Cómo desactiva Android Wear cuando está en modo de suspensión?
  • Reconocer las pulsaciones del botón de volumen cuando la pantalla está desactivada Android
  • ¿Qué eventos pueden despertar un dispositivo Android durmiente?
  • Wake + Wifi bloqueo sin efecto
  • Pantalla tenue mientras el usuario está inactivo
  • Corregir el patrón para adquirir un WakeLock en un BroadcastReceiver y liberarlo en un servicio
  • ¿Cómo liberar un bloqueo de despertador?
  • BroadcastReceiver, Servicio y Wakelock
  • Programación de Android: GCMIntentService Stuck at WakeLock
  • Uso de WakeLock para mantener una reproducción en secuencia
  • Cómo mantener el vibrador encendido indefinidamente de un servicio o receptor
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.