我正在用 Xamarin.Android 撰寫一個應用程式來從一些 domotic 傳感器(Sonoff、Shelly)中檢索資料并設定一些開關。我需要它甚至在后臺進行 api 呼叫,大約每 5 或 10 分鐘一次。我知道時間很短,我打算稍后用 Arduino 來做這個,但現在我需要這個。我進行了一些研究,閱讀了有關服務及其限制的資訊,但我不知道如何做到這一點。有人能幫我嗎?謝謝
uj5u.com熱心網友回復:
您可以:
- 創建一個持續運行的前臺服務,然后在那里執行一個計時器
- 使用Android X 中的WorkManager,根據設備功能和軟體版本,將優先使用以下內容:
- 作業調度器
- Firebase 作業調度程式
- 報警管理器
JobScheduler 允許您(有點像 Linux 上的 cron)設定要運行的計劃任務。但是,您可以執行此操作的頻率是有限的。此頻率取決于 Android 版本,并取決于作業的標準以及設備是否沒有耗盡資源。
使用前臺服務,只要服務還活著,您就可以或多或少地做您想做的事。您可能需要在應用的電池設定中禁用電池優化,否則它應該可以正常作業。
除了這些功能之外,除非您使用的是 root 設備或者您是設備上的設備管理員,否則您將無能為力。在 root/設備管理員的情況下,您可以將您的應用程式標記為Persistent不允許它被 Android 殺死。
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/406450.html
標籤:
