6

在Android中取消绑定外部服务(位于另一个jar中)文件的正确方法是什么?

org.eclipse.paho.android.service-1.0.2.jar我在清单文件中将服务(位于 中)声明为:

<service android:name="org.eclipse.paho.android.service.MqttService" >
</service>

服务源在这里

并且服务运行正常。但是,在退出应用程序时出现ServiceConnectionLeaked错误,在进行了一些搜索后,我发现我需要调用活动unbindService(...);onDestroy()方法。

日志:

24915-24915/com.testapp.testmqtt E/ActivityThread﹕ Activity com.testapp.testmqtt.MainActivity has leaked ServiceConnection org.eclipse.paho.android.service.MqttAndroidClient$MyServiceConnection@426c50d8 that was originally bound here
    android.app.ServiceConnectionLeaked: Activity com.testapp.testmqtt.MainActivity has leaked ServiceConnection org.eclipse.paho.android.service.MqttAndroidClient$MyServiceConnection@426c50d8 that was originally bound here

但是,我没有ServiceConnection要传递的信息,unbindService()因为我没有手动启动服务。有没有办法获得该ServiceConnection服务并解除绑定?

4

1 回答 1

14

我只是把这段代码放在活动的 onDestroy 中

    client.unregisterResources();
    client.close();
于 2015-06-12T15:46:58.570 回答