在屏幕锁定时启动gps

时间:2012-01-25 04:11:47

标签: android locking screen latitude-longitude

我开发了一个使用广播接收器获取纬度值的应用程序。它工作正常,但每当屏幕被锁定时,我都没有任何价值。但如果我解锁屏幕,我就会得到价值。有人帮我解决问题吗?

3 个答案:

答案 0 :(得分:2)

当手机进入深度睡眠模式时,屏幕关闭几分钟后,GPS停止。  您需要在获得GPS更新期间获取WakeLock

PowerManager powerManager = (PowerManager) context.getSystemService(context.POWER_SERVICE);
            wakeLock = powerManager.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK, "WakeLock");
            wakeLock.acquire();

并在完成后释放锁定。

wakeLock.release();

请参阅Power Manager

答案 1 :(得分:1)

请确保您在 onPause 方法中没有做任何奇怪的事情,在我的情况下我很生气,因为GPS在屏幕被锁定时停止工作,这是因为在我的onPause方法中我删除了更新来自位置经理。

答案 2 :(得分:0)

在您的清单文件中尝试这可能会有所帮助......我也不确定。尝试一次

android:configChanges="orientation|keyboard|keyboardHidden"
            android:launchMode="singleInstance"