2017-05-17 46 views
0

這個問題看起來很普遍,請告訴我安排一個在特定時間內每天在內部調用WebService的函數的方法。如何在特定的時間每天在後臺調用WebService?

根據我的說法,我將不得不使用本地通知或NSTimer在特定時間安排或調用該功能。 但它應該是工作或者我的應用程序是在後臺時間表,並沒有運行任何後臺任務或在前臺。

有兩種情況: 1.定位服務在我的應用程序的後臺運行。 2.如果用戶禁用了位置,則沒有位置或後臺服務正在運行,或者應用程序在一段時間間隔後處於暫停狀態。

但我必須每天通過我的應用程序在計劃時間(例如:5PM)向我的服務器發送一些狀態。

請指導我並提前致謝。

+0

如果用戶選擇不運行,則無法讓您的應用運行某些內容。即使使用本地通知,用戶仍然可以選擇解除它,並且您的應用程序不會運行,因此無法執行ws。 – GeneCode

+0

@GeneCode但是,如果位置服務在後臺工作,那麼應用程序將處於活動模式。你能否更清楚我的意思? – Aashish1aug

回答

2

您有以下選擇。

  1. 靜音通知:靜默推送通知是從服務器推,這表明現在是時候了,你需要調用Web服務,並進一步做了必要的任務。您將有大約30秒秒完成任務。現在請注意,在此期間不需要打開您的應用程序,因爲這將在後臺完成,而不會打開您的應用程序。

    按照 this 鏈接在這裏與無聲通知

  2. 基於位置的(區域範圍設定/位置更改)配置項目:嗯,你給它一個位置,每當它進入/存在管理應用程式/位置在該特定位置附近更新,即使終止,該應用程序也將在後臺啓動。

    applicationDidBeginLaunchingWithOptions將被調用一個 特定鍵通知該應用程序是從一個位置 更改啓動。

    跟隨this 鏈接來相應地配置您的應用程序。現在需要注意的是,這個 不會依賴於時間,而是依賴於某個特定的位置或位置,取決於您的選擇。

  3. UILocalNotification推送通知:但在這兩種情況下,它不能保證用戶與通知交互的旗幟,打開擺在首位的應用。

因此,在第一個選項,你可以做的工作,而不與設備(設備必須連接到互聯網),基於時間和基於位置的變化,並在第二個選項用戶用戶交互具有互動與設備(通知橫幅)。請使用對您的要求有用的。

希望這會有所幫助

+0

感謝您的意見。 – Aashish1aug

相關問題