service - android 应用如何在后台时刻监听服务器有新版本

浏览:15日期:2022-11-21

问题描述

最近项目有个需求:用户在启动应用前就得在后台悄悄监听服务器,有新固件时,把它下载到本地,当用户近应用后直接提示安装。因为应用打开后会连接智能设备的Wi-Fi,所以只能在近应用前提前下好服务器的东西,所以需要一个能长久后台服务去监听,大家给点好的意见!

问题解答

回答1:

所谓启动前就监听,严格来说是不存在这种可能的。你所谓的启动前,应该是说用户之前启动过应用,进程没有杀掉,这期间在后台一直在运行,如果有更新就下载文件。

可以创建一个后台服务定时去服务器拉数据来做,也可以用现有的push机制来做,如果有更新内容,就推送消息给所有用户,用户收到push通知后,得到下载地址,就可以下载了。

回答2:

守护进程+长连接或轮询关于守护进程,可以参考守护进程

回答3:

还是在进入应用的时候检测一下,在设置中加一个版本检测。你说的这种长久后台肯定会被用户禁用的

回答4:

给你一个方案哈,只是种思路:

监听各种广播,例如起机广播,或者百度全家桶等广播,例如广播启动你的后台Service服务。

服务启动后,使用AlarmManager设置一个定时启动的PendingItnent广播,时间间隔根据项目需要,保证每隔一段时间都能启动你的service。

完成后台service自己的逻辑,注意不要阻塞UI,不要内存泄露。

回答5:

连接智能设备的 WIFI 之前先检测更新不行吗?

回答6:

比较省电的方法是:在5.0以后可以使用JobScheduler,查询是否有新固件。有新固件就下载。当然这不是一定会执行的,有一部分用户没获得更新,在首页,检查更新。这部分用户就得等一会儿。

相关文章: