2010-01-15 13 views
8

Birden çok aktivite ve bir hizmetim var. MainActivity yılında başarıyla hizmetine bağlanmak (uygulayan bir sınıf kullanarak ServiceConnection + bindService() + startService()) ama diğer aktivitede aynı yöntemi uygulamak çalıştığımda LogCat bir hata bakın:Bir Android hizmetine birden çok etkinlik arasında nasıl bağlı kalınır?

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

bağlanabileceği mümkün mü başka bir şekilde bir hizmet: MainActivity içinde CounterServiceConnection nesnesini statik yapmak ve ikincisini kullanmak gibi bir şey mi?

cevap

15

hata mesajı oldukça kendini açıklayıcı: Bir ServiceConnection sızdırıyor, Android anlamına gelen Eğer bindService() aradığınız ama unbindService() aramıyor ve bindService() adlı etkinlik yok edildi. Daha önce değilse onDestroy() numaralı telefondan unbindService()'u aradığınızdan emin olun.

something like to make static my CounterServiceConnection object in MainActivity and use it in the seconde one?

sayılı

+3

bu hatanın ne söylüyor sorunu – Will

+0

çözmek için değil nasıl (bu aynı Faaliyet – Blundell

+0

Ben unbindService arıyorum yine bindService ardından bindService arayarak bu hata mesajını aldım onDestroy. Ben 'boolean bindResult = bindService arıyorum bağlamak için (yeni niyet (\t \t \t \t \t Consts.MARKET_BILLING_SERVICE_ACTION), bu, // ServiceConnection. \t \t \t \t \t Context.BIND_AUTO_CREATE)'. Ne yanlış yapabilirim? – Siddharth

0

Bu sürece bu iş parçacığı bir ilmiklendirici yüklemek gibi ayrı bir iş parçacığı onu bağlayabilir

İlgili konular