android背景位置更新和唤醒锁

android背景位置更新和唤醒锁,第1张

概述我正在开发一个 Android应用程序,我需要使用GPS提供程序在后台长时间获取位置更新,所以我需要在用户不再与之交互时发生位置udates.我对自己比较的LocationManager的requestSingleUpdate(提供者,pendingIntent版本)和requestLocationUpdates(provider,minTime,minDistance,intent版本)进行了一 我正在开发一个 Android应用程序,我需要使用GPS提供程序在后台长时间获取位置更新,所以我需要在用户不再与之交互时发生位置udates.我对自己比较的LocationManager的requestSingleUpdate(提供者,pendingIntent版本)和requestLocationUpdates(provIDer,minTime,mindistance,intent版本)进行了一些测试.在我的DroID Razr HD上获取了大量数据之后,看起来使用requestLocationUpdates比requestSingleUpdate明显更可靠(对于这两种方法,我实际比较了报告到实际位置的GPS位置,即未使用报告的准确度,以及requestLocationUpdates不仅对我的实际位置更加准确,而且它返回的位置修复时间与使用requestSingleUpdate选项的当前时间相同.我知道如何使用带有重复警报的AlarmManager并调用requestSingleUpdate,这样我每次警报响起时只需要一个唤醒锁,但是由于使用requestLocationUpdates的准确性提高(至少在我的手机测试中)我我想用这种方法代替.我的问题是,如果我使用requestLocationUpdates方法,我真的不清楚我必须做什么来保持唤醒锁定,以便在用户不与手机交互时保持更新.我从一个从服务启动的单独线程调用requestLocationUpdates(我读到这是标准模式).我的问题是,我是否必须在整个时间内持有唤醒锁,我希望位置更新继续进行?如果我没有获得自己的唤醒锁,那么位置更新会不断进行,每次更新都会唤醒手机吗?如果这是真的,那么这些更新是否会创建自己的唤醒锁,如果是,那么它们何时会释放唤醒锁?我似乎无法就此找到明确的答案.任何帮助是极大的赞赏.解决方法 不,你不需要唤醒锁,因为 *** 作系统为你取了唤醒锁( code).当onLocationChange()结束或广播接收器收到意图(对于接口的意图版本)时,将释放唤醒锁.如果您在onLocationChange()中启动某些异步工作,例如使用其他线程,则需要您自己的唤醒锁. 总结

以上是内存溢出为你收集整理的android背景位置更新和唤醒锁全部内容,希望文章能够帮你解决android背景位置更新和唤醒锁所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/web/1141088.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-31
下一篇 2022-05-31

发表评论

登录后才能评论

评论列表(0条)

保存