android - 确定 GPS 是否无法锁定

标签 android gps overheating

情况:我的程序有很多部分是基于位置的,但是当确实需要位置时,我没有时间锁定,所以要加快速度。我设计的解决方案是在主要操作(阅读:主屏幕)期间获取位置信息,以便在特定部分需要它们时可以使用该位置。

现在我注册更新,并在 onLocationChanged 中检查位置是否足够准确。如果是,它调用 removesUpdates。

问题:如果设备在某处无法获得准确位置(或任何位置),则 GPS 不会关闭,电池会过热,用户会非常不高兴。

问题:是否有一种干净利落的方法来检查 GPS 是否无法锁定,并在某个时刻告诉它放弃?我创建了一个线程计时器,但因为请求与 onPause/onResume 相关联,所以我不想创建额外的线程,这可能会把所有事情搞得一团糟。

最佳答案

使用服务来封装此功能。从里面运行一个异步任务。

您可以在必要时使用绑定(bind)来处理与 Activity 的交互

关于android - 确定 GPS 是否无法锁定,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7909805/

相关文章:

java - 如何确保一个按钮只被点击了 "n"次?!机器人工作室

java - 指南针指南到 GPS 目的地

iphone - 核心位置和速度测量

Android volley proguard 抛出 java.lang.RuntimeException : Stub

android - ContentProvider(联系人)- 没有这样的列 : metadata_dirty

python - 在 Python 中计算 GPS 坐标序列的距离(以米为单位)。

android - Android手机可以24/7运行图像处理应用程序吗

monitor - 你能通过简单的 C 代码使显示器过热吗?

android - Android 单声道 : where is GCMBaseIntentService?