在启动时,我在第一次活动的onCreate()
中调用bindService,这样我就可以访问我的mediaplayer对象,它是一个静态对象。
public static void bindMusicService(Context c){
/*mediaPlayerServiceIntent binds our connection to the MediaPlayerService. */
mediaPlayerServiceIntent = new Intent(c, MediaPlayerService.class);
c.bindService(mediaPlayerServiceIntent, serviceConnection, Context.BIND_AUTO_CREATE);
mServiceIsBound = true;
Log.i("Main","Service is bound!");
}
现在,当我在活动中单击一首歌曲时,我会呼叫:
ContextCompat.startForegroundService(context, intent);
但是,如果用户不单击歌曲而只是关闭应用程序怎么办?我还需要在unbindService();
中致电onPause()
吗?
因为当用户确实点击一首歌曲时,它会显示一条通知,提示正在播放的歌曲,并且当应用程序移至后台或滑开并调用 unbind 时,该通知不会不再工作了。