如何在android中创建一个计时器,每5秒将一个计数器变量重置为0?

时间:2011-08-27 01:39:48

标签: java android android-ndk android-manifest

我制作紧急应用程序,当按下音量减小键或菜单键时,将向5个人发送短信。 这是我在启动活动时检测按键的代码:

package com.application.tpa;

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.KeyEvent;
import android.widget.Toast;

public class main extends Activity {
    /** Called when the activity is first created. */
    int ctrMenu=0,ctrkeyUp=0;

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        //startService(new Intent(main.this, PAservice.class));
    }

    @Override
    public boolean onKeyDown(int keyCode, KeyEvent event) {
        if ((keyCode == KeyEvent.KEYCODE_MENU)) {
            ctrkeyUp=0;
            ctrMenu++;
            if (ctrMenu==5)
            {
                Toast.makeText(this, "You pressed the Menu button!", Toast.LENGTH_LONG).show();
                ctrMenu=0;
            }
            //return true;
        }
        else if ((keyCode == KeyEvent.KEYCODE_VOLUME_DOWN)) {
            ctrMenu=0;
            ctrkeyUp++;
            if (ctrkeyUp==5)
            {
                Toast.makeText(this, "You pressed the Volume Down button!", Toast.LENGTH_LONG).show();                     
                ctrkeyUp=0;
            }
            //return true;
        }
        return super.onKeyDown(keyCode, event);
    }
}

每个人都知道如何在android中创建计时器(或其他),每隔3秒将我的计数器变量重置为零?所以我可以在3秒前按下按钮5次时运行一些程序..谢谢..

2 个答案:

答案 0 :(得分:8)

这是使用TimerTask使用Timer的方法:

 Timer timer = new Timer();

        timer.schedule(new TimerTask() {
            public void run() {

               // add your stuff here
                }
            }
        }, 3000, 3000);

要取消计时器,您可以使用timer.cancel();

答案 1 :(得分:1)

使用java.util.Timerjava.util.TimerTask类。