2

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

2 回答 2

0

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

于 2012-10-22T22:08:28.553 回答
0

Chronometer 小部件可能会解决您的问题。

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

于 2012-10-22T22:08:46.077 回答