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 に答える