关于android下 mqtt服务开机无法启动的问题及某些mqtt问题

本文探讨了在Android系统中,通过设置广播接收器接收到开机广播后启动MQTT服务所遇到的问题及解决方案。重点在于解决MQTT服务在开机广播触发时无法正常连接的问题,并提供了设置AndroidManifest.xml的正确SDK版本来解决问题的方法。

    问题:设置广播接收器,接收到开机广播,然后启动一个mqtt服务,发现无法启动

    大家应该知道,貌似在android4.0后,开机服务要依托在activity上,也就是说,必须执行一次之后才可以,顺便提一下,程序安装在sd卡中好像收不到开机广播消息android.intent.action.BOOT_COMPLETED,因为我不想显示界面只想开启服务,所以在接收到开机广播后就启动了mqtt服务,没有显示activity界面,然后mqtt服务就在connet的时候抛出了异常,然后再重连,偶尔发现当我把activity界面打开的时候,就能连上了,也就是说,mqtt服务貌似依附activity里面的东西,然后剩下的就好办了,设置activity的样式  在Androidmainfest里面  设置  android:theme="@android:style/Theme.NoDisplay",这样就不显示了

  顺便再提一句,IBM写那个mqtt重连接比较有意思,他不是一定时间后重连,貌似时间是越来越长,最后貌似是半个小时,我直接改成10秒了

  还有1个给多个发消息的,只需要把topic设置下就行了,就是订阅主题是一样的,然后一个客户端给主题发,订阅了此主题的都能收到

 

  修正下,发现mqtt连接不上的原因是mainfest里的设置的sdk版本不对

  只需要设置<uses-sdk
        android:minSdkVersion="9"
        />

  max和target 不能设置

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

shan1021

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值