我目前正在与我的朋友开发应用程序,现在我可以检查是否启用了GPS。 现在我需要检查GPS是否正在接收信号。 我已经在stackoverflow上读了几个线程,例如:
How can I check the current status of the GPS receiver?
事情已经很久了,我已经尝试过这些代码了,其中一些方法看起来已经不存在了。
你们是否知道有任何变化或者该代码是否仍然可以使用?
感谢阅读。
答案 0 :(得分:0)
定义接收信号。 GPS实际上可以处于4种状态之一:
1)禁用 - 除非用户启用它,否则它将关闭且无法打开 2)关闭 - GPS在系统级别启用,但无线电当前未启用 3)锁定 - 启用GPS并打开收音机,但是我们还没有锁定足够的卫星来获取位置 4)开启GPS,收音机开启,我们有锁
1很容易检查 - LocationManager.isProviderENabled会告诉你。
通过调用LocationManager.addGpsStatusListener并通过LocationManager.getGPSStatus调用当前状态,2可以通过GPSStatusListener。状态GPS_EVENT_STOPPED应该在这里
3可以通过与2相同的方法实现,当我们进入此状态时会发生事件GPS_EVENT_STARTED
4也可以通过状态,其他2个事件意味着我们处于这种状态。 FIRST_FIX意味着我们只是进入它。
同样从用户的角度来看,您可以通过通知栏中的GPS符号告知2中的3个,其中2个没有符号,3个闪烁,4个实心。
您关注的其中哪些状态取决于您的应用。经常2和3可以被处理相同 - 没有信号,但启用。