java如何在服务中使用倒计时更新文本
让我们假设我有一个这样的服务,我有一个文本视图在每个刻度更新,文本视图位于MainActivity。如何在每次勾选中更新TextView
public class CountDownTimerService extends Service {
public CountDownTimerService() {
}
@Override
public int onStartCommand(Intent intent, int flags, int startId) {
CountDownTimer.start();
return START_STICKY;
}
private CountDownTimer countDownTimer = new CountDownTimerWithPause(300000, 1) {
@Override
public void onTick(long millisUntilFinished) {
/*
In this part i need to update text on MainActivity
*/
}
@Override
public void onFinish() {
Log.i("Timer","Timer finished");
}
@Override
public IBinder onBind(Intent intent) {
return null;
}
}
# 1 楼答案
必须使用
IntentService
在Activity
和Service
之间传递消息。你可以自己做,但有一些已知的库非常高效,使用简单,可以为你做这些事情,比如EventBus这是一个非常有用的EventBus教程,非常简洁易懂,希望对大家有所帮助
https://guides.codepath.com/android/Communicating-with-an-Event-Bus