【问题标题】:Timer Stops working when screen turn off屏幕关闭时计时器停止工作
【发布时间】:2012-10-22 22:01:34
【问题描述】:

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

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

【问题讨论】:

标签: java android timer handler


【解决方案1】:

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

【讨论】:

    【解决方案2】:

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

    我建议不要使用任何在睡眠模式下可能需要计数的解决方案,因为这会缩短用户的电池寿命。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-03-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-04-18
      • 2015-02-09
      • 2018-12-15
      相关资源
      最近更新 更多