【发布时间】:2014-11-21 12:39:15
【问题描述】:
我正在使用Paho Android Service API,我在onResume 中连接并在onPause 中断开连接。在运行时,我可以通过设备subscribe 并通过mosquitto Broker 看到来自PC 的published 消息。当我按下他BackButton 时,应用程序崩溃并显示以下logcat 错误。
请告诉我如何解决这个问题。
注意:
1_因为我使用的是Paho Android Service API,所以我将所需的库导入到项目中。和
在我的项目清单文件的application 元素中,我添加了这一行
2_我没有在我的框架中注册任何接收器,接收器包含在我的库中 导入以使用 Paho API
<!-- Mqtt Service -->
<service android:name="org.eclipse.paho.android.service.MqttService" >
</service>
LogCat:
Activity com.example.mqtt_test_00.MessaginActivity
has leaked IntentReceiver org.eclipse.paho.android.service.MqttAndroidClient@43075698 that was
originally registered here. Are you missing a call to unregisterReceiver()?
android.app.IntentReceiverLeaked: Activity
com.example.mqtt_test_00.MessaginActivity has leaked IntentReceiver
org.eclipse.paho.android.service.MqttAndroidClient@43075698 that was originally registered here.
Are you missing a call to unregisterReceiver()?
at android.app.LoadedApk$ReceiverDispatcher.
<init>(LoadedApk.java:814)
at
android.app.LoadedApk.getReceiverDispatcher(LoadedApk.java:610)
at
android.app.ContextImpl.registerReceiverInternal(ContextImpl.java:1762)
at
android.app.ContextImpl.registerReceiver(ContextImpl.java:1742)
at
android.app.ContextImpl.registerReceiver(ContextImpl.java:1736)
at
android.content.ContextWrapper.registerReceiver(ContextWrapper.java:478)
at org
.eclipse.paho.android.service.MqttAndroidClient.registerReceiver(MqttAndroidClient.java:410)
at
org.eclipse.paho.android.service.MqttAndroidClient.connect(MqttAndroidClient.java:388)
at
com.example.mqtt_test_00.Sub_Frag$5.onClick(Sub_Frag.java:98)
android.app.ServiceConnectionLeaked: Activity
com.example.mqtt_test_00.MessaginActivity has leaked ServiceConnection
org.eclipse.paho.android.service.MqttAndroidClient$MyServiceConnection@430756f0 that was
originally bound here
at android.app.LoadedApk$ServiceDispatcher.<init>
(LoadedApk.java:988)
at
org.eclipse.paho.android.service.MqttAndroidClient.connect(MqttAndroidClient.java:385)
at
com.example.mqtt_test_00.Sub_Frag$5.onClick(Sub_Frag.java:98 )
【问题讨论】:
-
注销服务,在你回压类之前,在 onpause() 方法中使用注销