假设我有一个这样的服务,并且我有一个 TextView 要在每次更新时更新,TextView 位于 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;
}
}
最佳答案
您必须使用 IntentService
在您的 Activity
和 Service
之间传递消息。您可以自己做,但有一些已知的库非常高效且易于使用,可以为您做这些事情,例如 EventBus .
这是一个非常有用的EventBus教程,非常干净且易于理解,希望对您有所帮助!
https://guides.codepath.com/android/Communicating-with-an-Event-Bus
关于java - 如何使用服务中的倒计时器更新文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39061863/