После смены ротации второй экземпляр службы

Мое приложение - это видеоплеер, который транслирует видео с NAS. Поэтому видео также воспроизводится в фоновом режиме, у меня запущена служба startforeground, в которой удерживается медиаплеер. Поэтому каждый раз, когда начинается действие, мне нужно подключаться к службе, чтобы иметь возможность показать видео. Это также требуется при изменении поворота. Затем, когда я хочу привязаться к нему, иногда я не привязываюсь к уже запущенной службе, а создает новый экземпляр. Итак, есть два экземпляра службы.

Да, обычно службы могут быть созданы только один раз, но в моем случае иногда бывает 2 экземпляра ...: /

Как я могу предотвратить это? Была ли у кого-нибудь такая же проблема?


РЕДАКТИРОВАТЬ: служба запускается и связана со следующим кодом:

Намерение serviceIntent = новое намерение (getApplicationContext (), MediaPlayerService.class); getApplicationContext (). startService (serviceIntent);

Намерение serviceIntent = новое намерение (getApplicationContext (), MediaPlayerService.class); getApplicationContext (). bindService (serviceIntent, mServiceConnection, Context.BIND_AUTO_CREATE);


person mario    schedule 24.11.2014    source источник
comment
Можете ли вы опубликовать метод в действии, в котором вы создаете объект?   -  person gllowmas    schedule 24.11.2014
comment
Я отредактировал и добавил к своему вопросу;)   -  person mario    schedule 24.11.2014


Ответы (1)


Извините, я не понял, потому что меня интересовало, в каком методе жизненного цикла действия вы это делали. Есть определенные методы, которые называются изменением ориентации. Этот другой ответ должен указать вам правильное направление. Надеюсь, это поможет.

Какой метод действия вызывается при изменении ориентации?

person gllowmas    schedule 24.11.2014
comment
ах простите. Создаю свой сервис в onCreate. хмм, тем не менее, создание экземпляра службы несколько раз не может быть возможным, и должно быть решение. но я подумаю над ответом, который вы связали. - person mario; 25.11.2014