
MemoryPersistence memPer;MqttAndroIDClIEnt clIEnt;@OverrIDepublic IBinder onBind(Intent intent) { memPer = new MemoryPersistence(); clIEnt = new MqttAndroIDClIEnt(this,"tcp://192.168.1.42:1883","clIEntID",memPer); try { clIEnt.connect(null,new IMqttActionListener() { @OverrIDe public voID onSuccess(IMqttToken mqttToken) { Log.i("MQTT","ClIEnt connected"); Log.i("MQTT","topics=" + mqttToken.gettopics()); MqttMessage message = new MqttMessage("Hello,I am AndroID Mqtt ClIEnt.".getBytes()); message.setQos(2); message.setRetained(false); try { clIEnt.publish("messages",message); Log.i("MQTT","Message published"); clIEnt.disconnect(); Log.i("MQTT","clIEnt disconnected"); } catch (MqttPersistenceException e) { // Todo auto-generated catch block e.printstacktrace(); } catch (MqttException e) { // Todo auto-generated catch block e.printstacktrace(); } } @OverrIDe public voID onFailure(IMqttToken arg0,Throwable arg1) { // Todo auto-generated method stub Log.i("MQTT","ClIEnt connection Failed: " + arg1.getMessage()); } }); } catch (MqttException e) { e.printstacktrace(); } return mBinder;} 但总是调用onFailure函数,我得到错误:
I/MQTT﹕ ClIEnt connection Failed: cannot start service org.eclipse.paho.androID.service.MqttService
显然由库返回,因为’Listener!= null’,Line 410.使用调试器,它显示’Listener = SensorLoggerService $1 @ 3634′. SensorLoggerService是我的服务.
什么可能出错?非常感谢.
解决方法 对我来说同样的问题,在我的情况下问题是< service>标签位于< application>之外标签.一开始我有这个:
<manifest xmlns:androID="http://schemas.androID.com/apk/res/androID"package="com.mycompany.myapp" >...<service androID:name="org.eclipse.paho.androID.service.MqttService"> </service>...<application androID:name="com.mycompany.myapp" ... >...</application>
然后我改为:
<manifest xmlns:androID="http://schemas.androID.com/apk/res/androID"package="com.mycompany.myapp" >...<application androID:name="com.mycompany.myapp" ... >... <service androID:name="org.eclipse.paho.androID.service.MqttService"> </service></application>
一切正常!
您还需要添加INTERNET和ACCESS_NETWORK_STATE权限,否则您将无法连接.
HTH
总结以上是内存溢出为你收集整理的Paho MqttAndroidClient.connect总是失败全部内容,希望文章能够帮你解决Paho MqttAndroidClient.connect总是失败所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)