1、客户端锁屏状态,无法发送心跳包

解决方案:使用电源锁

客户端:MqttService

/** * 设备电源锁。 */ private PowerManager.WakeLock mWakeLock; 
 /** * 申请设备电源锁 */  private final void acquireWakeLock() {  if (mWakeLock == null) {  PowerManager pm = (PowerManager) this.getSystemService(Context.POWER_SERVICE);  mWakeLock = pm.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK, this.getPackageName());  }  if (mWakeLock != null) {  mWakeLock.acquire();  }  }  /** * 释放设备电源锁 */  private final void releaseWakeLock() {  if (mWakeLock != null) {  mWakeLock.release();  mWakeLock = null;  }  }  
@Override  public int onStartCommand(Intent intent, int flags, int startId) {//申请电源锁acquireWakeLock();//创建mqtt连接if(mqttClient != null && mqttClient.isConnected()) {} else {util = CommonUtil.getInstance(MqttService.this);CLIENT_ID = "uniware" + util.getInt("USER_ID", -1);notiId = new Random().nextInt(100000);TOPICS = new String[]{CLIENT_ID};// 创建MqttClient对象try {mqttClient = new MqttClient(HandleAddress.CONNECTION_STRING);mqttClient.registerAdvancedHandler(new AdvancedCallbackHandler());// 注册接收消息方法} catch (MqttException e) {e.printStackTrace();}new Thread(conn).start();}return super.onStartCommand(intent, flags, startId);  }  
 @Override  public void onDestroy() {//关闭mqtt连接conn.interrupt();try {mqttClient.unsubscribe(TOPICS);} catch (MqttNotConnectedException e) {// TODO Auto-generated catch blocke.printStackTrace();} catch (IllegalArgumentException e) {// TODO Auto-generated catch blocke.printStackTrace();} catch (MqttException e) {// TODO Auto-generated catch blocke.printStackTrace();}try {mqttClient.disconnect();} catch (MqttPersistenceException e) {// TODO Auto-generated catch blocke.printStackTrace();}//释放电源锁releaseWakeLock();  super.onDestroy(); Log.d(TAG, "onDestroy() executed");  }  

关于android MqttClient消息推送客户端锁屏状态,无法发送心跳包解决方案相关推荐

  1. android 消息推送开发 锁屏显示_MIUI 第452周发布公告及更新日志(MIUI开发版公测)...

    MIUI 开发版20.5.7 14:30发布,部分机型延迟发布 1.  Redmi K20 Pro.小米9 Pro 5G.小米CC9 Pro.Redmi K30.Redmi K20.Redmi K30 ...

  2. Android端消息推送总结:实现原理、心跳保活、遇到的问题等

    前言 最近研究Android推送的实现, 研究了两天一夜, 有了一点收获, 写下来既为了分享, 也为了吐槽. 需要说明的是有些东西偏底层硬件和通信行业, 我对这些一窍不通, 只能说说自己的理解. 为什 ...

  3. 2015最新最全 Android 谷歌消息推送GCM 详细使用教程

    因为项目是非大陆的手机项目,所以当要使用到消息推送的时候,百度了一下,国内的消息方案可以是: 1.百度云推送.也确实很快就可以搭建客户端和服务端,加载他的sdk,大概花了半个小时,就可以在手机端收到推 ...

  4. Windows 10推送的锁屏壁纸保存方法

    工作中使用的系统为Windows 10,锁屏时显示的壁纸很漂亮,并且每天都会更新,有几张特别喜欢,于是就想这些壁纸到底保存在哪里呢?经过一番摸索,终于搞明白了,简单记录一下. 壁纸保存在下面路径: C ...

  5. 基于openfire+smack的Android、消息推送服务

    前言 Java领域的即时通信的解决方案可以考虑openfire+spark+smack.当然也有其他的选择. Openfire 是基于Jabber协议(XMPP)实现的即时通信服务器端版本,目前建议使 ...

  6. android热门消息推送横向测评![转]

    关于这个话题,已经不是什么新鲜事了.对于大多数中小型公司一般都是选择第三方的服务来实现.但是现在已经有很多提供推送服务的公司和产品,如何选择一个适合自己项目的服务呢?它们之间都有什么差别?在此为大家做 ...

  7. Android 生态消息推送平台介绍

    一.手机厂商平台 华为消息推送服务 华为推送(Push)是为开发者提供的消息推送平台,建立了从云端到手机端的消息推送通道,使应用可以将最新信息及时通知用户,从而构筑良好的用户关系,提升用户的感知和活跃 ...

  8. Android之消息推送实现

    在开发Android和iPhone应用程序时,我们往往需要从服务器不定的向手机客户端即时推送各种通知消息,iPhone上已经有了比较简单的和完美的推送通知解决方案,可是Android平台上实现起来却相 ...

  9. Android App消息推送 实现原理

    https://www.jianshu.com/p/b61a49e0279f 1.消息推送的实质 实际上,是当服务器有新消息需推送给用户时,先发送给应用App,应用App再发送给用户 2. 作用 产品 ...

最新文章

  1. mysql-sql优化--笔记
  2. 前端开发周边(js版页内锚点跳转方法)
  3. 实战SSM_O2O商铺_19【商铺编辑】Controller层开发
  4. java2d简介_AWT_Java2D简介
  5. Intent跳转传list集合
  6. javafx 图标_JavaFX技巧32:需要图标吗? 使用Ikonli!
  7. Jenkins在AWS上(第1部分)
  8. 30 WM配置-策略-出库策略3-定义后进先出策略L(LIFO)
  9. wpf的控件style
  10. 洛谷 1429 平面最近点对(加强版) 快排 非点分治或kdtree
  11. 递归法应用背包问题C语言课程设计,数据结构课程设计背包问题.doc
  12. Tomcat虚拟主机配置示例
  13. 罗大佑的童年用计算机咋弹,罗大佑《童年》吉他弹奏教学-520吉他网
  14. 新房装修流程详细步骤有哪些? 新房装修流程注意事项有哪些?
  15. vSphere 6.5配置使用vMotion高级特性
  16. ubuntu上python使用opencv调用usb摄像头无故掉线以后重连摄像头。
  17. majicMIX realistic 模型
  18. AR项目总结之业务架构图
  19. 商品结算页面html代码,前端开发jQuery购物车结算页面代码
  20. Linux IPC总结(全)

热门文章

  1. FZU 1921 栀子花开 (线段树单点更新)
  2. NOIP Practice Recordings S
  3. devc astyle c语言,C/C++代码格式优化工具----astyle
  4. 运营商站在FMC和移动UC之间无所适从
  5. 机械臂的雅克比矩阵推导
  6. kali,安装Fluxion遇到了Aborted, X (graphical) session unavailable
  7. 自我感动式努力的第二天
  8. 振动样品磁强计的技术指标
  9. 美化网页、ASP动态网页技术
  10. AI安全---对抗攻击防御措施