屏幕锁定运行停止

问题描述:

我在Android服务中有Runnable,并且该服务绑定到某个活动。屏幕锁定运行停止

问题是当屏幕被锁定时,runnable暂停。它在屏幕解锁后恢复。

以下是可运行的代码 - 我想知道为什么runnable被暂停画面暂停时的原因

private Runnable counterRunnable = new Runnable() { 
     @Override 
     public void run() { 

      totalTime = SystemClock.uptimeMillis() - lngStartTime; 
      totalTime += lngPauseTime; 
      strMillis = String.valueOf(((Integer.valueOf(String.valueOf(totalTime)))/10) % 60); 
      strSecs = String.valueOf(((Integer.valueOf(String.valueOf(totalTime)))/1000) % 60); 
      strMins = String.valueOf((((Integer.valueOf(String.valueOf(totalTime)))/1000)/60) % 60); 
      strHrs = String.valueOf(((((Integer.valueOf(String.valueOf(totalTime)))/1000)/60)/60) % 60); 

      if(strMillis.length() == 1) 
       strMillis = "0" + strMillis; 
      if(strSecs.length() == 1) 
       strSecs = "0" + strSecs; 
      if(strMins.length() == 1) 
       strMins = "0" + strMins; 
      if(strHrs.length() == 1) 
       strHrs = "0" + strHrs; 

      Log.i(TAG, strHrs + ":" + strMins + ":" + strSecs + ":" + strMillis); 
      hndlrUpdateTime.postDelayed(this, 10); 
     } 
    }; 

+0

我猜android操作系统正在杀死它。您可能希望使用具有可见通知的服务,以便android不会杀死它。 –

+0

现在来看看它的方式。如果在我的手机进入深度睡眠后,我开始的所有应用程序都会继续运行,会发生什么情况?你会发现你的电池不会持续很长时间,所以这种情况是故意的。您可以请求部分唤醒外观或者只是扩展WakefulIntentService,但是我看到您的问题的方式并不需要继续运行。当您的手机重新开机并正确更新标签时,您可以分辨时差。 –

您的runnable附加到创建它的进程。

当您锁定屏幕时,此过程将停止。

欲了解更多信息,请访问this

如果你想避免它看看this

希望这会有所帮助。

这是这样的Android应用程序应该工作,当屏幕锁定

onPause() 

叫,试图重写此方法,让它空,但要小心,这可能会解决你的问题,并创造100多个。