当管理员在浏览器上推送消息时,我需要向应用程序用户显示消息。为此,我实现了一个计时器,以便它在应用程序启动时向用户显示一条消息。如果推送新消息,计时器将继续运行以在 20 分钟内获取一次消息。我的计时器工作正常,但点击按钮。
- 我希望我的计时器在活动加载后立即启动。
- 这是显示消息的正确方法吗?(就像横幅)
- 计时器的资源消耗如何?
定时器任务
class secondTask extends TimerTask {
@Override
public void run() {
TestBannerActivity.this.runOnUiThread(new Runnable() {
@Override
public void run() {
fl.setVisibility(View.VISIBLE);
long millis = System.currentTimeMillis() - starttime;
int seconds = (int) (millis / 1000);
int minutes = seconds / 60;
seconds = seconds % 60;
text2.setText(String.format("%d:%02d", minutes,
seconds));
}
});
}
};
按钮点击事件
b.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Button b = (Button) v;
if (b.getText().equals("stop")) {
timer.cancel();
timer.purge();
b.setText("start");
} else {
starttime = System.currentTimeMillis();
timer = new Timer();
timer.schedule(new secondTask(), 8000, 1200000);
b.setText("stop");
}
}
});