0

Я создал пользовательскую связанную службу, которую я запускаю с помощью startService в моей MainActivity, а затем привязываюсь к ней. Я делаю то же самое в рамках одного из других видов деятельности. Но всякий раз, когда я прекращаю эту деятельность (и служба продолжает работать, как она была предназначена) или даже полностью закрывает приложение, я получаю ошибку в этих строках.Получение «Activity <activityname> просочилось ServiceConnection», несмотря на его отключение в onDestroy или onPause

09-19 01:58:11.660 20750-20750/***.rs E/ActivityThread: Activity ***.rs.OpenArticle has leaked ServiceConnection ***[email protected] that was originally bound here 
android.app.ServiceConnectionLeaked: Activity *** has leaked ServiceConnection ***[email protected] that was originally bound here 
at android.app.LoadedApk$ServiceDispatcher.<init>(LoadedApk.java:1092) 
at android.app.LoadedApk.getServiceDispatcher(LoadedApk.java:986) 
at android.app.ContextImpl.bindServiceCommon(ContextImpl.java:1303) 
at android.app.ContextImpl.bindService(ContextImpl.java:1286) 
at 
... 

Я отвязать службу в обоих случаях в OnDestroy, и я также попробовал другие функции, такие как onUserLeaveHint и OnPause но и не похоже на работу.

Вот мой код из файла OpenArticle, где я пытаюсь отключить мою службу. Интересно, что сообщение об ошибке никогда не отображается в logcat.

@Override 
protected void onUserLeaveHint() { 
    try { 
     unbindService(sConn); 
    } catch (RuntimeException e) { 
     Log.d("OpenArticle", "Service unbind not successful."); 
    } 
    super.onUserLeaveHint(); 


} 

На практике это на самом деле не влияет на функциональность приложения, но все еще кажется, что я делаю что-то неправильно.

+0

Выполнение вызова unbindService в onpause() или onStop() методе деятельности –

ответ

0

Вы должны отменить услугу в @Override protected void onStop(), так как onDestroy не может быть вызван, тогда вы оставите свою активность.

 Смежные вопросы

  • Нет связанных вопросов^_^