2012-07-13 20 views
1

我在想方設法讓計時器開始於應用程序安裝時,即使應用程序處於運行狀態時仍繼續運行背景。我基本上使用定時器來定期檢查鏈接到手機的外部設備的電池壽命。我被告知最好的辦法是使用某種委託調用來實現定時器功能,但對於IOS來說我相當陌生,對於如何做到這一點我感到非常困惑。我知道如何設置計時器並獲得電池續航時間,但是我仍然困惑於如何讓計時器通過應用程序的生活。任何幫助你可以給予extreememely讚賞!謝謝一堆!設置運行IOS應用程序的計時器

回答

4

在後臺運行應用程序(永遠)是不可能的。

但是,當您的應用程序正在運行時...您可以將方法scheduledTimerWithInterval:target:selector:userInfo:repeats:repeats參數設置爲YES

這裏是一個link在後臺運行一段時間來執行相對較大的任務。

+0

謝謝!實施長期運行的後臺任務部分直接適用於我正在做的事情! – 2012-07-13 01:10:10

+0

我會投你一票,但沒有15代表!!! ahhh – 2012-07-13 01:10:42

+0

這很好。很高興我能幫上忙。 – Imirak 2012-07-13 01:11:51

1

即使該應用程序在後臺

無法運行。你可以要求額外的10分鐘,但多數民衆贊成在它。您將無法按原樣編寫您的應用程序。

對於你的問題的定時器部分,你可以這樣做:

[NSTimer scheduledTimerWithTimeInterval:60.0 
    target:self 
    selector:@selector(checkBattery:) 
    userInfo:nil 
    repeats:YES]; 

但是,你真的應該訂閱電池改變事件的通知。來自蘋果的Here is sample code顯示瞭如何做到這一點。

+0

爲什麼這是不可能的?我正在尋找類似於Android中的服務。即應用程序正在運行,但目前可能不在最前沿,但仍會在後臺執行某些操作。不是ios有這種類型的功能? – 2012-07-13 00:52:09

+0

蘋果不允許它。你可以做的最好的事情就是開始你的應用程序進入前臺的時間。 – endy 2012-07-13 00:53:25

+0

那麼像Spotify這樣的應用程序如何讓應用程序不在最前沿時繼續播放音樂?這對於音樂來說只是不同而已,因此您可以接管系統音頻嗎?那裏沒有某種解決方法嗎? – 2012-07-13 01:00:33

0

coneybeare是對的。這是iOS政策,其目的正是爲了防止您試圖做的事情,即耗盡iPhone(或iPad)的電池壽命。

+0

如果我的電池檢測電池電量不足,我希望能夠每隔幾個小時提醒用戶。對此如何實現有什麼建議? – 2012-07-13 00:57:12

相關問題