2

即使手机处于睡眠状态,我也需要在后台通过 GPS/网络更新位置。
我实现了 android 服务来归档该目标。但问题是当我让设备进入睡眠状态时,我通知通知栏中的GPS 图标消失了,因为位置更新不再起作用。

在这种情况下如何保持 GPS/网络位置更新?

P/S:我使用FusedLocationAPI和前台服务。提前致谢。
请注意,GPS-ICON 图像仅在通知栏中提及图标,我仍然保持 GPS 提供程序打开。

4

1 回答 1

5

您应该获取唤醒锁:

    //in onCreate of your service
    PowerManager pm = (PowerManager) getSystemService(Context.POWER_SERVICE);
    cpuWakeLock = pm.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK,
        "gps_service");
    cpuWakeLock.acquire();

    // Release in onDestroy of your service
    if (cpuWakeLock.isHeld())
      cpuWakeLock.release();

并将其添加到您的清单中:

<uses-permission android:name="android.permission.WAKE_LOCK" />

如果您需要持续的位置更新,上面是很好的,但如果您只是不时需要位置,请查看:https ://github.com/commonsguy/cwac-locpoll

于 2015-04-20T09:32:52.253 回答