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

Ung*_*viu 8 android android-service android-activity

我有多项活动和一项服务.在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.
Run Code Online (Sandbox Code Playgroud)

是否可以通过其他方式连接到服务:类似于将静态CounterServiceConnection对象放入其中MainActivity并在第二个中使用它?

Com*_*are 15

错误消息是相当不言自明的:你正在泄漏a ServiceConnection,Android意味着你正在调用bindService()但没有调用unbindService(),并且被调用的活动bindService()被破坏了.确保你打电话unbindService()onDestroy(),如果不是更早.

类似于在MainActivity中创建静态的CounterServiceConnection对象并在seconde中使用它?

没有.

  • 这是说错误是什么,而不是如何解决问题 (3认同)