关于Android手机端推送的学习所得
来源:互联网 发布:手机淘宝差评怎么知道 编辑:程序博客网 时间:2024/05/12 19:59
最近开发过程中有消息实时推送需求,针对这个需求进行了一些学习,此篇用于总结记录学习所得。
之前有做过消息推送,那次以轮询方式实现,使用AlarmManager的setRepleat方法实现每15分钟向服务器查询是否有新的待办事项,但是当进程被杀死的时候,与进程相关的AlarmManager也会被销毁,尝试使用了包括Service的startForeground方法创建存活优先级较高的前台服务、onStartCommand方法返回START_STICKY、注册文件中设置android:persistent="true"等多种方法尝试保活Service,然而都没什么卵用,各种被杀。
Android手机的推送关键点就在于进程保活(实际上是Service保活和拉活),由于国内屏蔽了谷歌的GCM服务,不能像IOS一样利用系统服务器进行推送,因此实现实时推送的关键就是实现手机端和服务端的长链接,进程一旦被杀,链接便会中断。
关于进程保活目前找到的靠谱点的方案是在Native层用C语言编写双进程守护,不过貌似也不能完美适配所有机型,学习链接:http://blog.csdn.net/marswin89/article/details/50917098
关于推送的实现方式,目前靠谱的方案就是接入多个第三方推送,比如小米推送号称在小米手机上能受到系统级保护,学习链接:https://juejin.im/post/57a19c012e958a0066715d0c
我个人觉得可行的方案就是接入多个第三方推送,然后找出第三方推送的核心服务,然后收听可以静态注册的系统广播,在收听到广播时对第三方推送的核心服务进行拉活,关于自己拉活这点目前还不知道靠不靠谱,因为推送时还需要一些信息,比如本机唯一标识码之类的,有待测试。
- 关于Android手机端推送的学习所得
- 关于手机推送
- Android手机推送方案
- 学习所得
- 关于Android手机系统学习
- 关于mysql数据类型的一点所得
- 关于手机官方系统推送更新出错的解决方案
- 关于极光推送,部分手机收不到的分析
- 服务端到手机端的推送方式
- 学习matlab GUI编程的一点点所得
- 学习VC中所得的点点心
- 学习matlab GUI编程的一点点所得
- 关于android 的消息推送问题解决方案
- 关于Android推送的跳转问题
- android手机上消息推送
- android 消息推送,手机被动接收类似通知的短消息
- Android-获取手机已经安装的程序-推送好友
- 关于Android端配置极光推送
- java获得项目路径
- C++ struct
- leetcode-112. Path Sum
- V4L2视频驱动常用控制命令使用说明
- 纪念品分组
- 关于Android手机端推送的学习所得
- 386
- 二分查找算法
- TwinCAT3中GetSystemTime()功能块使用
- IOS开发NSString与int和float的相互转换以及字符串拼接、NSString、NSData、char* 类型之间的转换
- 当友元遇上运算符重载
- C++内存空间区域
- 定时执行命令Crontab
- poj 3111