2012-10-22 57 views
2

嗨,我是一个Android的新手& java lang。 我有这段代码告诉你你玩了多久。 该代码工作正常,除非屏幕关闭或用户按下电源按钮(睡眠模式)时停止工作。 任何人都可以建议一个简单的代码来保持我的时间计数,即使屏幕关闭或处于睡眠模式。谢谢...计时器屏幕关闭时停止工作

public class test extends Activity 
{ 
    Handler mHandler = new Handler(); 

    Runnable mUpdateTime = new Runnable() 
    { 
     public void run() 
     { 
      sec += 1; 
      if(sec >= 60) 
      { 
       sec = 0; 
       min += 1; 
       if (min >= 60) 
       { 
        min = 0; 
        hour += 1; 
       } 
      } 
      playtime.setText(String.format("%02d:%02d:%02d", hour, min, sec)); 
      mHandler.postDelayed(mUpdateTime, 1000); 
     } 
    }; 


    @Override 
    public void onCreate(Bundle savedInstanceState) 
    { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.main); 

     mHandler.postDelayed(mUpdateTime, 1000); 
    } 
} 
+0

顺便说一句,我认为你解决了你的问题,但采取正确的答案)http://stackoverflow.com/questions/24686218/timer-stops-every-time-the-phone-sleeps – Jack

回答

0

我会建议不计算时间,而是设置一个开始时间,然后从当前减去,以获得流逝的时间。

0

A Chronometer widget可能会解决您的问题。

我会建议您不要在睡眠模式下需要计数的任何解决方案,因为这会导致用户的电池使用时间缩短。

相关问题