管理者がブラウザにメッセージをプッシュしたときに、アプリケーションユーザーにメッセージを表示する必要があります。そのために、アプリケーションの起動時にユーザーにメッセージを表示するようにタイマーを実装しました。新しいメッセージがプッシュされた場合、タイマーは20分に1回メッセージとして取得するために実行を続けます。私のタイマーは正常に動作していますが、ボタンをクリックすると。
- アクティビティが読み込まれるとすぐにタイマーを開始したい。
- これはメッセージを表示する適切な方法ですか?(バナーのようなものです)
- タイマーはどのくらいリソースを消費しますか?
タイマータスク
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");
}
}
});