我目前正在開發一個報警應用程序,並且我正在實施智能報警功能,我必須從服務器獲取數據以確定它是否是喚醒用戶的正確時間。計劃後臺任務
比方說,此案是:
鬧鐘設置爲06:30上午
智能報警功能06:30之前設定爲30分鐘,其中數據的讀取將發生5次5分鐘時間間隔,從早上6點到上午6點25分
- 如果我們假設在早上6點15分服務器返回了喚醒用戶所需的數據,所有安排的任務將立即取消
- 當前時間是11:30 PM
- 沒有智能報警器的任務將在下午11:30期間被執行到06:00 am
我目前正在開發一個報警應用程序,並且我正在實施智能報警功能,我必須從服務器獲取數據以確定它是否是喚醒用戶的正確時間。計劃後臺任務
比方說,此案是:
鬧鐘設置爲06:30上午
智能報警功能06:30之前設定爲30分鐘,其中數據的讀取將發生5次5分鐘時間間隔,從早上6點到上午6點25分
您可以使用推送通知/無聲推送通知來實現這一任務。 請注意,用戶必須選擇啓用推送通知才能使其工作。 這裏是如何可以實現的總覽,
請詳細閱讀:推送通知,無聲推送通知&後臺任務處理程序。
背景提取API:在iOS系統7,蘋果增加了對後臺支持抓取,是一種聰明,每個應用的crontab,在機會的時間醒來。沒有辦法強制後臺提取以確切的時間間隔執行。在調度未來的回調時,iOS會檢查在之前的後臺提取過程中使用了多少數據和電池電量。 添加支持涉及編輯應用程序的屬性列表(見UIBackgroundModes),並設置取在應用程序生命週期
之前已經說過,服務器不會進行任何推送通知,因爲服務器不是由我們處理的。所以我別無選擇,只能做一個重複的計劃後臺檢查。但感謝您的詳細解釋。 – Orange
無法調度後臺操作在iOS特定的時間間隔早。對於您的情況,您需要服務器在需要時向設備發送推送通知。 – Paulw11
保羅講真話。保羅,你應該發表你的評論作爲答案,讓OP可以接受它。 –
@ Paulw11請發表您的評論作爲回答 – Orange