ya timer java dapat digunakan , tetapi sebagai pertanyaan meminta cara yang lebih baik (untuk ponsel). Yang dijelaskan di Sini .
Demi StackOverflow:
Karena Timer membuat utas baru, itu mungkin dianggap berat,
jika yang Anda butuhkan adalah mendapatkan panggilan kembali saat aktivitas berjalan, Handler dapat digunakan bersama dengan a
Runnable :
private final int interval = 1000; // 1 Second
private Handler handler = new Handler();
private Runnable runnable = new Runnable(){
public void run() {
Toast.makeText(MyActivity.this, "C'Mom no hands!", Toast.LENGTH_SHORT).show();
}
};
...
handler.postAtTime(runnable, System.currentTimeMillis()+interval);
handler.postDelayed(runnable, interval);
atau Pesan
private final int EVENT1 = 1;
private Handler handler = new Handler() {
@Override
public void handleMessage(Message msg) {
switch (msg.what) {
case Event1:
Toast.makeText(MyActivity.this, "Event 1", Toast.LENGTH_SHORT).show();
break;
default:
Toast.makeText(MyActivity.this, "Unhandled", Toast.LENGTH_SHORT).show();
break;
}
}
};
...
Message msg = handler.obtainMessage(EVENT1);
handler.sendMessageAtTime(msg, System.currentTimeMillis()+interval);
handler.sendMessageDelayed(msg, interval);
di samping catatan pendekatan ini dapat digunakan, jika Anda ingin menjalankan sepotong kode di utas UI dari utas lain.
jika Anda perlu mendapatkan panggilan kembali bahkan jika aktivitas Anda tidak berjalan, Anda dapat menggunakan AlarmManager