我在SO上看到许多关于这个问题的帖子,但是我无法找到最简单的方法来从服务类中调用活动方法。广播接收器是唯一的选择吗?没有简单的方法吗?我只需要在服务类准备好媒体播放器后调用活动类中的以下方法。
活动类:
活动类:
public void updateProgress() {
// set Progress bar values
songProgressBar.setProgress(0);
songProgressBar.setMax(100);
// Updating progress bar
updateProgressBar();
}
服务类:
@Override
public IBinder onBind(Intent intent) {
Log.d(this.getClass().getName(), "BIND");
return musicBind;
}
@Override
public boolean onUnbind(Intent intent) {
return false;
}
@Override
public void onPrepared(MediaPlayer mp) {
try {
mp.start();
} catch (IllegalStateException e) {
e.printStackTrace();
}
// updateProgress();// Need to call the Activity method here
}
onServiceConnected
下的这一行代码:service.setCallbacks(this);
,其他都看起来没问题。它抱怨想要一个ServiceCallbacks
,但是被传递了一个匿名的ServiceConnection
。 - RevMenMyActivity.this
。我会更正这篇文章。 - Karakuri