【问题标题】:Android: GPS location updates when the cellphone is in sleep?Android:当手机处于睡眠状态时,GPS 位置会更新?
【发布时间】:2010-06-09 21:17:11
【问题描述】:

即使手机处于睡眠状态,我也需要在后台通过 GPS 更新位置。我正在考虑使用 AlarmManager 来广播 Intent,然后接收器将在 LocationManager 上调用 requestLocationUpdates()。但是我不确定是否保证在手机处于睡眠状态时会更新 GPS 位置,并且如果我在调用 requestLocationUpdates() 时注册了 PendingIntent 是否会广播意图?

谢谢,

【问题讨论】:

    标签: android locationmanager


    【解决方案1】:

    您可以使用service

    服务没有可视化的用户界面,而是在后台无限期地运行。例如,服务可能会在用户处理其他事务时播放背景音乐,或者它可能会通过网络获取数据或计算某些内容并将结果提供给需要它的活动。每个服务都扩展了 Service 基类。

    如果您的手机进入睡眠状态,该服务将继续在后台工作。请记住使用startService() 而不是bindService() 启动服务,否则当启动服务的活动进入睡眠状态时,服务将停止。

    希望这会有所帮助..

    【讨论】:

    • 我不想使用服务,因为服务进程可能会被系统杀死。
    • 你可以让它成为前台服务。
    • 保持Service 运行来实现这一点有点矫枉过正,最好使用AlarmManager
    • 即使是前台服务也可能被杀死。只是可能性较小。
    • 你应该删除这个 - 根据 cmets 完全不准确 - 当你需要在后台定期运行一些东西时 AlarmManager + BroadCastReceiver + WakefulIntentService 如果有很多工作是完成)是唯一的方法
    【解决方案2】:

    屏幕关闭时 GPS 无法工作!您可以为您的应用设置闹钟,但要获得 GPS 位置,您必须打开屏幕。

    2016 年 8 月 23 日更新:

    请注意,这个答案是旧的,这个信息对于最新的操作系统版本并不实际。

    【讨论】:

    • 我在关闭屏幕的情况下使用 GPS 已经很长时间了。您能否提供支持这一主张的证据(例如文档链接)?谢谢
    • 是的,我可以确认在手机处于睡眠状态时仍然可以进行 GPS 锁定和查询 :-]
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-06-07
    • 1970-01-01
    • 2014-01-23
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多