如何在多个活动之间保持与Android服务的连接?

时间:2010-01-15 21:00:35

标签: android android-activity android-service

我有多项活动和一项服务。在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对象并在第二个中使用它?

2 个答案:

答案 0 :(得分:15)

错误消息相当不言自明:您正在泄露ServiceConnection,Android意味着您正在调用bindService()但未调用unbindService(),以及调用bindService()的活动{1}}被摧毁了。如果不是更早,请务必在unbindService()中致电onDestroy()

  

喜欢静电的东西   CounterServiceConnection对象   MainActivity并在seconde中使用它   一个?

没有

答案 1 :(得分:0)

只要在该线程中安装looper

,就可以从单独的线程绑定它