如何检查GPS接收机的当前状态?

如何检查GPS接收机的当前状态?

如何检查GPS接收机的当前状态?我已经查过了LocationListener onStatusChanged方法,但不知何故,它似乎不起作用,或只是错误的可能性。

基本上,我只需要知道,在屏幕顶部的GPS图标是闪烁(没有实际的修复)或固体(修复是可用的)。


慕侠2389804
浏览 579回答 3
3回答

宝慕林4294392

根据接收到的广播意图,GPS图标似乎改变了它的状态。您可以使用以下代码示例自行更改其状态:通知已启用全球定位系统:Intent intent = new Intent("android.location.GPS_ENABLED_CHANGE");intent.putExtra("enabled", true);sendBroadcast(intent);通知GPS正在接收修补程序:Intent intent = new Intent("android.location.GPS_FIX_CHANGE");intent.putExtra("enabled", true);sendBroadcast(intent);通知GPS不再接收修补程序:Intent intent = new Intent("android.location.GPS_FIX_CHANGE");intent.putExtra("enabled", false);sendBroadcast(intent);通知GPS已被禁用:Intent intent = new Intent("android.location.GPS_ENABLED_CHANGE");intent.putExtra("enabled", false);sendBroadcast(intent);将接收方注册到意图的示例代码:// MyReceiver must extend BroadcastReceiverMyReceiver receiver = new MyReceiver(); IntentFilter filter = new IntentFilter("android.location.GPS_ENABLED_CHANGE"); filter.addAction("android.location.GPS_FIX_CHANGE");registerReceiver(receiver, filter);通过接收这些广播意图,您可以注意到GPS状态的变化。但是,只有当状态发生变化时,才会通知您。因此,无法使用这些意图来确定当前状态。

森栏

不幸的是,新成员我无法发表评论或投票,然而StephenDaye上面的帖子是我一直在寻求帮助的完全相同问题的完美解决方案。对以下一行的小改动:isGPSFix&nbsp;=&nbsp;(SystemClock.elapsedRealtime()&nbsp;-&nbsp;mLastLocationMillis)&nbsp;<&nbsp;3000;致:isGPSFix&nbsp;=&nbsp;(SystemClock.elapsedRealtime()&nbsp;-&nbsp;mLastLocationMillis)&nbsp;<&nbsp;(GPS_UPDATE_INTERVAL&nbsp;*&nbsp;2);基本上,当我建立一个慢节奏的游戏,我的更新间隔已经设置为5秒,一旦GPS信号发出10秒以上,这是正确的时间触发一些东西。干杯朋友,在我找到你的帖子之前,花了大约10个小时来解决这个问题:)
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Android