我在写一个应用程序,需要使用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可能会为该用例提供解决方法。 –