Попробуйте использовать TimerTask()
с Handler()
, связанным с postDelayed, чтобы обновить мое уведомление, выполняющее задачу метода каждые 1сек, но я, кажется, нажимаю на стену, реализуя ее правильно из внешнего вида вещей. Вот пример из моего кода:Использование обработчика с Postdelayed для обновления Уведомления
Timer timer = new Timer();
TimerTask task = new TimerTask(){
@Override
public void run() {
updateNotificationUi();
}
};
timer.scheduleAtFixedRate(task, 0, 1000);
}
Затем updateNotificationUi()
метод Код:
private void updateNotificationUi() {
new Handler().postDelayed(new Runnable(){
@Override
public void run() {
if(isRunning) {
mNotificationBuilder.setContentTitle("Text").setContentText("This value here updates every 1 sec").setSmallIcon(R.drawable.ic_launcher);
mNotifyManager.notify(notificationID, mNotificationBuilder.build());
}
}
}, 1000);
}
Я получаю ошибку при запуске мое приложение является 12-22 07:37:20.556: E/AndroidRuntime(6555): java.lang.RuntimeException: Can't create handler inside thread that has not called Looper.prepare()
Любые предложения о том, как решить эту проблему?
'runnable' должен быть объявлен как' final' – muaaz