屏幕锁定运行停止
问题描述:
我在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);
}
};
。
答
这是这样的Android应用程序应该工作,当屏幕锁定
onPause()
叫,试图重写此方法,让它空,但要小心,这可能会解决你的问题,并创造100多个。
我猜android操作系统正在杀死它。您可能希望使用具有可见通知的服务,以便android不会杀死它。 –
现在来看看它的方式。如果在我的手机进入深度睡眠后,我开始的所有应用程序都会继续运行,会发生什么情况?你会发现你的电池不会持续很长时间,所以这种情况是故意的。您可以请求部分唤醒外观或者只是扩展WakefulIntentService,但是我看到您的问题的方式并不需要继续运行。当您的手机重新开机并正确更新标签时,您可以分辨时差。 –