2010-01-15 43 views
8

我有多项活动和一项服务。在MainActivity我成功地连接到服务(使用实现类ServiceConnection + bindService() + startService()),但是当我尝试应用在其他活动同样的方法我在logcat中看到一个错误:如何在多个活动之间保持连接到Android服务?

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. 

是否有可能连接到以其他方式提供服务:类似于使0123.中的静态我的CounterServiceConnection对象在第二个对象中使用?

回答

15

的错误消息是相当不言自明:你是渗出了ServiceConnection,通过安卓意味着您所呼叫bindService()但没有呼叫unbindService(),并且名为bindService()的活动已被销毁。请确保您拨打onDestroy()中的unbindService(),如果不早的话。

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

+3

这是说的错误是什么,而不是如何解决这个问题 – Will 2010-01-16 10:00:51

+0

我在同一个活动 – Blundell 2011-04-15 18:08:53

+0

我打电话unbindService再次调用bindService,然后bindService得到这个错误信息(这)onDestroy。要结合我打电话'布尔bindResult = bindService(新的意向书(\t \t \t \t \t Consts.MARKET_BILLING_SERVICE_ACTION),为此,// ServiceConnection。 \t \t \t \t \t Context.BIND_AUTO_CREATE)'。我可能做错了什么? – Siddharth 2012-09-05 09:27:22

0

您可以从一个单独的线程,只要你在该线程安装一个弯针将其绑定

相关问题