【发布时间】:2016-08-05 03:15:39
【问题描述】:
如何将服务从一项活动传递到另一项活动?我有一个显示歌曲列表的音乐播放器(Activity1),当您单击它时,它会在 Activity1 中启动服务。我有一个按钮,用户可以单击它来打开 Activity2。
那么对我来说,将服务从 Activity1 传递到 Activity2 的最佳方式是什么。如果服务是在 Activity1 中启动的,那么 Activity2 应该会继续播放。如果Activity1中没有启动该服务,那么Activity2应该在使用它之前启动该服务。
谢谢。
这是一些示例代码,MusicService 是一个扩展服务类的类。
public class Activity1 extends AppCompatActivity {
private MusicService serviceMusic;
private ServiceConnection musicConnection = new ServiceConnection() {
@Override
public void onServiceConnected(ComponentName name, IBinder service) {
MusicService.PlayerBinder binder = (MusicService.PlayerBinder) service;
//get service
serviceMusic = binder.getService();
serviceMusic.setSongList(songList);
}
@Override
public void onServiceDisconnected(ComponentName name) {
}
};
}
【问题讨论】:
标签: android android-activity android-service android-service-binding