Мне кажется, я понимаю, что вы хотите сделать. После запуска занятия и начала воспроизведения mp3 вы выходите из занятия. Затем в следующий раз, когда вы откроете его, вы захотите связать его с существующим сервисом и не запускать другой экземпляр сервиса.
Чтобы достичь этого, вы должны использовать начатое действие, а затем связываться с ним. То есть используйте startActivity (Intent) при нажатии кнопки, затем в следующей строке выполните bindService (Intent, connection, Context.FLAG_AUTO_CREATE); . Это привязывает сервис, затем вы можете отменить привязку в onDestroy (рекомендуется) или onPause. Кроме того, поскольку это запущенный сервис, он не уничтожается при отмене привязки. Вы должны явно вызвать stopService (Intent) или stopSelf () , чтобы остановить эту службу.
В onResume своей деятельности вы должны проверить, запущена ли служба, а затем снова выполнить привязку к ней, используя код: bindService (Intent, connection, 0);
Объект connection является зарегистрированным ServiceConnection, который запускается каждый раз, когда вы привязываете или отсоединяете сервис.
private ServiceConnection connection = new ServiceConnection() {
public void onServiceConnected(ComponentName className,
IBinder service) {
}
public void onServiceDisconnected(ComponentName className) {
}
* *} Тысяча двадцать-одина; * * тысяча двадцать две
Кроме того, вы можете отправлять и получать сообщения об активности, в вашем случае во время воспроизведения песни в формате mp3, с помощью службы Messenger.
Обратитесь к этой ссылке , чтобы узнать больше об использовании Messenger.
Надеюсь, это поможет.