我在寫一個應用程序,需要使用GPS進行頻繁的位置檢查。它需要每10-15秒獲取一次當前位置,然後將其寫入數據庫(數據庫部分對於這個問題大多不相關,只是想把它扔到那裏)。我面臨的問題是,我找不到一個體面的方式來完成這一點。我試過幾件事:如何在Codename One中獲得頻繁的背景GPS更新?
使用
LocationManager.getBackgroundLocationListener()
似乎從來沒有工作。我已經在Android和iOS上嘗試過它,似乎沒有任何事情發生。可能是我做錯了什麼,但無論如何,我已經讀過iOS版本,它只會在移動到不同的手機信號塔時受到攻擊,因此無法滿足我的需求。我試過使用後臺抓取,但它只在Android上可靠。 iOS上的頻率完全是隨機的,因此這也不符合我的需求。
我試過剛開始一個新的線程,每10-15秒就會獲取一個當前位置,但這隻有在屏幕打開並且該應用程序正在使用時纔有效。這不會滿足我的需求,因爲我需要確保它在切換到其他應用程序時繼續獲取位置更新。
有沒有人有任何建議的替代方法來解決這個問題?請注意,我在objective-c中沒有背景,因此像Codename One這樣的跨平臺解決方案實際上是我唯一的選擇。
謝謝謝,非常有幫助。看來iOS目前對這款應用的限制太多了。我已經發布它作爲一個Android應用程序,所以我想現在會保持這種狀態。我真的很喜歡CN1。如果我編寫另一個不依賴於背景數據的應用程序,我將來一定會使用它。 –
就這樣,我們清楚這些限制是從本機派生的,與Codename One無關。如果你將解釋你正在試圖用應用程序完成的事情,那麼Apple可能會爲該用例提供解決方法。 –