定时器在屏幕关闭时停止工作

时间:2012-10-22 22:01:35

标签: java android timer handler

嗨,我是Android和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);
    }
}

2 个答案:

答案 0 :(得分:0)

我建议不计算时间,而是设置开始时间,然后从当前减去该时间以获得经过的时间。

答案 1 :(得分:0)

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

我会建议您不要在睡眠模式下计算任何解决方案,因为这样会影响用户的电池续航时间。