cari

Rumah  >  Soal Jawab  >  teks badan

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

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

怪我咯怪我咯2773 hari yang lalu444

membalas semua(6)saya akan balas

  • 高洛峰

    高洛峰2017-04-17 17:52:41

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

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

    balas
    0
  • 高洛峰

    高洛峰2017-04-17 17:52:41

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

    balas
    0
  • 伊谢尔伦

    伊谢尔伦2017-04-17 17:52:41

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

    balas
    0
  • 阿神

    阿神2017-04-17 17:52:41

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

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

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

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

    balas
    0
  • PHP中文网

    PHP中文网2017-04-17 17:52:41

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

    balas
    0
  • 伊谢尔伦

    伊谢尔伦2017-04-17 17:52:41

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

    balas
    0
  • Batalbalas