Как оставаться на связи с сервисом Android между несколькими операциями?

У меня есть несколько операций и одно обслуживание. В MainActivity Я успешно соединяюсь с сервисом (использующий класс, который реализует ServiceConnection + bindService() + startService()) но когда я пытаюсь применить тот же метод в другом действии, я вижу в LogCat ошибку:

01-15 22:29:37.438: ERROR/ActivityThread(12206): android.app.ServiceConnectionLeaked:  
    Activity com.app.liviu.simpleMusicPlayer.PlaylistActivity has leaked ServiceConnection  
    com.app.liviu.simpleMusicPlayer.PlaylistActivity$CounterServiceConnection@43713c90  
    that was originally bound here.

Это возможный соединиться с сервисом другим способом: что-то вроде сделать статичным мой CounterServiceConnection объект в MainActivity и используйте его во втором?

8
задан Idolon 11 October 2011 в 17:08
поделиться

2 ответа

Сообщение об ошибке вполне понятно: вы пропускаете ServiceConnection, с помощью которого Android означает, что вы вызываете bindService(), но не вызываете unbindService(), и действие, вызвавшее bindService(), было уничтожено. Обязательно вызовите unbindService() в onDestroy(), если не раньше.

что-то вроде статического Объект CounterServiceConnection в MainActivity и использовать его во втором случае один?

Нет.

15
ответ дан 5 December 2019 в 11:25
поделиться

Вы можете связать его от отдельного потока до тех пор, пока вы устанавливаете петлитель в этом потоке

0
ответ дан 5 December 2019 в 11:25
поделиться
Другие вопросы по тегам:

Похожие вопросы: