推送是每一个APP必不可少的一部分,这几天正好在做这一块,所以总结一下遇到的一些问题。在APP被杀死的情况下,对应的推送service也一起被杀死了,这个时候我们怎么能够收到后台的推送呢?

解决办法很简单,但是也特别粗暴,在mainfest中给application设置这个属性android:persistent="true",看意思我们就知道,持续的,一直的,这样的话,app是杀不死的,推送肯定有可以收到了。但是强烈建议不要这样做,因为这样就像某些流氓软件一样了,毕竟我们做个应用出来,也不想让别人以为我们的是流氓软件吧。好了,重头戏来了,最后一种方法,也是我比较推荐的一种。用Broadcast Receivers。我们都知道,推送实际上应用的就是广播,这里我们自定义一个广播接收器,让它继承系统的Broadcast Receivers,然后复写它的onReceive方法,在onReceive里面开启推送的服务。最后在mainfest中去注册我们自定义的广播接收器。这里一定要用静态注册的广播接收器。如果是动态注册的,APP被杀死后,广播接收器也会被杀死。下面我已极光推送为例。

//自定义的接收器

public class BoardcastReceiver extends BroadcastReceiver {

@Override

public void onReceive(Context context, Intent intent) {

Intent pushintent=new Intent(context,PushService.class);//启动极光推送的服务

context.startService(pushintent);

}

}

//静态注册接收器

android:name="BoardcastReceiver"

android:enabled="true">

android 杀进程推送服务,关于APP进程被杀死,极光推送收不到消息的解决办法相关推荐

  1. 从源码解析-Android中Zygote进程是如何fork一个APP进程的

    zygote进程fork子进程 前言 强烈推荐 进程创建流程 APP启动第三方应用 startActivity startService sendBroadcast ContentResolver.q ...

  2. 个推技术 | 厂商和App必看!统一推送UPS最全解读和快速接入指南

    近日,统一推送联盟宣布将把联盟的相关标准与成果纳入到中国信通院与中国互联网协会共建的"中国移动基础服务平台"(China Mobile Service,CMS)相关体系中,为我国移 ...

  3. android安卓手机(小米 MI3联通版)安装Ubuntu(Linux发行版)过程遇到的坑以及解决办法。

    原创博客,转载请注明出处,欢迎转载. 以下是我用闲置的旧手机小米3联通版根据网上教程安装Ubuntu过程,以及各种问题的解决办法: (请直接跳到第三步:使用Linux Deploy安装ubuntu) ...

  4. sqlserver服务启动失败_条码打印软件连接SQL数据库出现TCP连接失败解决办法

    小编今天用条码打印软件连接SQL 数据库遇到了一个问题:通过端口1433连接到主机localhost的TCP/IP连接失败.错误:"Connection refused:connect.请验 ...

  5. 关于ios低版本在app store下载软件时由于版本低导致不能下载的解决办法

    最近有人提出问题,说IOS7怎么在APP store中下载软件,好多软件都提示需要ios8及以上才可以下载,而App Store里下载又不会提供给你旧版本,难倒ios7就必须升级才能下载吗?对此本人在 ...

  6. Android真机界面的大小与MuMu模拟器运行出来的手机屏幕大小不一致问题的一个解决办法

    –最近在做毕业设计,作为一个新手遇到了这个屏幕大小问题,最后用了"土办法"可算是解决了.我的手机是小米6x,屏幕大小是1080乘2160.刚开始我把MuMu模拟器界面大小调至108 ...

  7. Android 杀不死的服务

    现在的应用程序都是那么的不要脸,你在设置中把服务停了,把进程杀了,会发现过一会儿后台又有服务在运行. 其实这种东西通过监听系统广播就可以达到目的. 写个BroadcastReceiver: publi ...

  8. Android之通过ContentProvider实现两个app(进程间)间通信以及函数调用

    1.ContentProvider简单介绍 ContentProvider以在不同的应用程序之间共享数据,ContentProvider底层实现是Binder,它为存储和获取数据提供统一的接口 2.实 ...

  9. 【极光推送】项目包名更改后极光推送不能使用的解决办法

    1.申请极光的包名一旦更改,则该包名对应的key就不能再使用,需要拿新的包名去申请一个新的key. 2.在AndroidManifest文件中,记得替换自己新的key 3.卸载该应用,重新安装方可正常 ...

最新文章

  1. Linux 软件看门狗 watchdog
  2. pytorch focalloss多分类 单分类
  3. boost::process::std_in相关的测试程序
  4. 【若依(ruoyi)】打印bootstrapTable数据
  5. scala不可变和可变_Scala使期货变得轻松
  6. mysql绿色版安装及授权连接
  7. SolarWinds 事件新动态:研究员发现新的C2基础设施
  8. Partition List -- LeetCode
  9. Progressive Web App:模仿原生应用的Web应用
  10. MySQL 运维及开发规范
  11. 2019.03.30 图解HTTP
  12. 一个失败软件项目的思考
  13. java batik 乱码_Batik渲染png图片异常的bug修复
  14. 【181023】VC++开发的电路板画图设计软件源代码
  15. 12个医学公共数据库
  16. 3dMax2020 渲染后保存图片时卡住解决方法
  17. 数据分析(学习笔记)
  18. 流域水库水闸和泵站无人值守系统
  19. 如何查看自己电脑的ip地址
  20. 道一云OA系统排名?道一云OA办公系统怎么选?什么是用户口碑最好的道一云OA系统?

热门文章

  1. 剑指政企数智办公市场,通信厂商融云有何看家本领?
  2. MP2459被完美替代内部集成有功率MOSFET管FS2459的60V0.5A降压IC
  3. c++手机编程软件_今天小编推荐几款好用的手机编程APP!
  4. 解决旅行商问题的方法
  5. 【极光推送】项目包名更改后极光推送不能使用的解决办法
  6. html2canvas做pdf导出时字体样式错乱
  7. 前辈们的面试经验总结——对于BAT等企业如何面试之面试流程及问题解析、以及面试时的基本礼仪及着装
  8. 元宇宙被这个圈子带火了一波,是我没想到的
  9. Ionic之button标签ng-click无反应解决
  10. 快速区分AR VR MR 全息 3D