service - android 应用如何在后台时刻监听服务器有新版本
怪我咯
怪我咯 2017-04-17 17:50:41
0
6
436

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

怪我咯
怪我咯

走同样的路,发现不同的人生

全部回覆(6)
小葫芦

所謂啟動前就監聽,嚴格來說是不存在這種可能的。你所謂的啟動前,應該是說使用者之前啟動應用,進程沒有殺掉,這段期間在後台一直在運行,如果有更新就下載檔案。

可以創建一個後台服務定時去伺服器拉資料來做,也可以用現有的push機制來做,如果有更新內容,就推播訊息給所有用戶,用戶收到push通知後,得到下載位址,就可以下載了。

小葫芦

守護程序+長連接或輪詢
關於守護進程,可以參考守護進程

伊谢尔伦

還是在進入應用的時候檢測一下,在設定中加一個版本檢測。你說的這種長久後台一定會被用戶禁用的

阿神

給你一個方案哈,只是種思路:

  1. 監聽各種廣播,例如起機廣播,或百度全家桶等廣播,例如廣播啟動你的後台Service服務。

  2. 服務啟動後,使用AlarmManager設定一個定時啟動的PendingItnent廣播,時間間隔根據專案需要,保證每隔一段時間都能啟動你的service。

  3. 完成後台service自己的邏輯,注意不要阻塞UI,不要記憶體洩漏。

Ty80

連接智慧型裝置的 WIFI 之前先偵測更新不行嗎?

伊谢尔伦

比較省電的方法是:
在5.0以後可以使用JobScheduler,查詢是否有新韌體。有新韌體就下載。
當然這不是一定會執行的,有一部分用戶沒獲得更新,在首頁,檢查更新。這部分用戶就得等一會兒。

熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板