以电池效率高的方式从Android GPS轮询卫星数据
这是一个与许多其他问题(即)非常接近的问题。然而,我需要的是完全不同的 因此,基本上,我在寻找一种使用以电池效率高的方式从Android GPS轮询卫星数据,android,gps,location,battery,satellite,Android,Gps,Location,Battery,Satellite,这是一个与许多其他问题(即)非常接近的问题。然而,我需要的是完全不同的 因此,基本上,我在寻找一种使用LocationManager类定期轮询Android设备的方法。具体来说,我想要卫星信息(而不是位置本身)。也就是说,我只想知道卫星的数量,信噪比等等。我希望能以最节省电池的方式做到这一点 一种方法是使用onGpsStatusChanged回调获取卫星信息,然后使用类似location\u manager.getGpsStatus(null.getSatellites()的方法获取卫星。事实上
LocationManager
类定期轮询Android设备的方法。具体来说,我想要卫星信息(而不是位置本身)。也就是说,我只想知道卫星的数量,信噪比等等。我希望能以最节省电池的方式做到这一点
一种方法是使用onGpsStatusChanged
回调获取卫星信息,然后使用类似location\u manager.getGpsStatus(null.getSatellites()
的方法获取卫星。事实上,我就是这样做的
关于这一点,我现在有几个问题,我在Android文档或我见过的任何在线论坛上都找不到
onGpsStatusChanged
,而不将LocationListener
添加到我的LocationManager
?我是否可以在不注册LocationListener的情况下查询GPS接收器向我发送卫星信息?也就是说,除了以下情况外,是否有直接的方法:
location_manager.addGpsStatusListener(gps_status_listener_);
location_manager.requestLocationUpdates(location_manager.getProvider(LocationManager.GPS_PROVIDER).getName(), 3000, 2f, location_listener_);
因为对我来说,LocationListener
是无用的GPSStatusListener
是否更节省电池电量,获取卫星信息并删除侦听器,或者只连接一次并保持轮询,直到我不再需要它为止。我意识到连续轮询是电池效率低下的,而且大多数问题都涉及使用requestLocationUpdates
轮询LocationManager
,并设置minTime和MindDistance等,以最大限度地减少电池消耗量。然而,我只需要卫星信息,所以也许有一种方法可以在不消耗电池的情况下连续投票GPSStatusListener
平均多长时间获得卫星信息。我意识到获得一个位置需要一段时间,这取决于提供商、LastKnownLocation和yada yada。但是卫星信息呢?快一点吗