我需要实现这个目标:我有一个应用程序,它想跟踪家庭成员的位置。由于我不想让GPS一直运行,我想我可以从服务器发送请求,当一些家庭成员想知道我的位置时。
但我遇到了一些问题:
我不能使用PUSH通知,因为那些需要被确认(点击)并且只有在那之后应用知道发生了什么。 (这不会很好,因为孩子们可能不会点击推送通知)
另一种选择是让应用程序在后台运行,检查服务器是否有任何新闻,如果它在服务器上发现了一些请求,则启动GPS跟踪并将坐标上传到服务器。这听起来好一点,但电池耗尽。
有没有人试过这个?有没有更好的方法来解决这个问题?
谢谢你的任何反应! :)
答案 0 :(得分:1)
是的,我认为您离开的唯一选择是在后台运行位置服务。
为Required background modes
到App registers for location updates
的Plist设置。这样您就可以根据需要发送位置更新。
但请注意,这仅在应用程序运行或在后台运行时才有效,并且在应用程序关闭时不会运行。如果用户关闭了您的应用程序,那么如果您从设备获得任何更新,则可以发出推送通知。
另请注意,您需要在申请说明中提及该应用程序使用会耗尽电池的位置服务,否则您的申请将不会获得批准。
希望这些信息可以帮助你..
答案 1 :(得分:1)
我们的申请中也有类似的问题。我们遵循持续监听推送通知端口的方法,每当我们收到任何通知时,检查它是否适用于我们的应用程序,然后做出相应的反应。
我们可以长时间收听端口以节省电池电量。 抱歉,不能与您分享任何代码,但我希望这可能会有所帮助。