В настоящее время мне нужна служба (Музыка), потому что мне нужно взаимодействовать с ней. Но я также хочу, чтобы не был остановлен, даже если все компоненты сами разделились.Не уничтожайте связанную службу по действию destroy
Как Android Developer Guide говорит
«[...] Несколько компонентов могут связываться со службой сразу, но когда все они отвязать, служба будет уничтожен.»
Руководство также говорит
«[...] ваш сервис может работать в обоих направлениях, она может быть запущена (для запуска на неопределенное время), а также позволяет переплет.»
В моем приложении Служба запускается при запуске приложения. Я хочу, чтобы эта служба была уничтожена только щелчком мыши по закрытой кнопке. Я показываю ее в настраиваемом уведомлении. Но в настоящее время, когда я разрушаю свой MainActivity, служба также останавливается.
Я также читал ответы на подобные вопросы в этой теме, которые я нашел здесь, в Stackoverflow и google, но они не могли мне помочь. Может быть, я чего-то упускаю, но не могу понять.
Это где я сейчас нахожусь, это называется, когда я хочу создать свою службу:
public void createServiceConnection(){
musicConnection = new ServiceConnection(){
@Override
public void onServiceConnected(ComponentName name, IBinder service) {
MusicService.MusicBinder binder = (MusicService.MusicBinder)service;
musicSrv = binder.getService();
attachMusicService();
}
};
}
... Wich называет это:
public void attachMusicService(){
playerFragment.setMusicService(musicSrv);
musicSrv.attach(context); //need this for my listeners, nevermind
bindService(context);
}
... которым называет это:
public void bindService(Context act){
if(playIntent==null){
playIntent = new Intent(act, MusicService.class);
act.startService(playIntent);
act.bindService(playIntent, musicConnection, Context.BIND_AUTO_CREATE);
}else{
act.startService(playIntent);
act.bindService(playIntent, musicConnection, Context.BIND_AUTO_CREATE);
}
//finished. I can do stuff with my Service here.
}
Я что-то не понял? Я чувствую, что служба должна продолжать работать, даже активность уничтожается, потому что я сначала сделал начатую службу, а затем привязан к ней.
Сначала вы говорите: «Похоже, мой код был прав». Тогда вы доказываете, что это не так :) – Wukash
Извините. Представляем ".. код, который я разместил ..". Проблема не была включена в код, который я показал в своем Вопросе. –
Да, я знаю, это просто заставило меня немного улыбнуться :). Я был уверен, что вы уже звонили в startForeground, так как это самая важная часть - сделать сервисный фон – Wukash