У меня есть такой код, который запускается при нажатии кнопки
if (isMyServiceRunning(PlayerService.class)) {
stopService(mIntent);
unbindService(serviceConnection);
} else {
startService(mIntent);
bindService(mIntent, serviceConnection, Context.BIND_AUTO_CREATE);
}
Когда я нажимаю кнопку, и моя служба не работает, служба начинает работать (все хорошо здесь) Когда я нажимаю кнопкуи моя служба работает, служба останавливается и уничтожается (все хорошо здесь), но когда я нажимаю, чтобы служба начала работать, служба не работает
Моя служба
public class PlayerService extends Service {
private final IBinder binder = new LocalBinder();
@Nullable
@Override
public IBinder onBind(Intent intent) {
return binder;
}
@Override
public int onStartCommand(Intent intent, int flags, int startId) {
doAnything();
return START_STICKY;
}
public class LocalBinder extends Binder {
PlayerService getService() {
return PlayerService.this;
}
}
}
Сервисное подключение
private ServiceConnection serviceConnection = new ServiceConnection() {
@Override
public void onServiceConnected(ComponentName className, IBinder service) {
PlayerService.LocalBinder binder = (PlayerService.LocalBinder) service;
myService = binder.getService();
Log.d("TEST", "MainActivity onServiceConnected");
bound = true;
}
@Override
public void onServiceDisconnected(ComponentName arg0) {
Log.d("TEST", "MainActivity onServiceDisconnected");
bound = false;
}
};