以高效电池方式从Android GPS轮询卫星数据

时间:2016-09-27 16:39:42

标签: android gps location battery satellite

对于许多其他问题(即Android Regular GPS Polling in Service, maximizing battery life),这是一个非常接近的问题。但是,我需要的是完全不同的。

所以,基本上我正在寻找一种使用<html> <body onload="onPageLoad()"> <script> function onPageLoad() { var testString = "This is the test text..."; var divElement = document.createElement('div'); divElement.innerHTML = '<h1 onclick="onClickFunc(\''+ testString + '\')">Click Me!</h1>'; document.body.appendChild(divElement); } function onClickFunc(str) { alert(str); } </script> </body> </html>类定期轮询Android设备的方法。具体来说,我想要SATELLITE信息(不是位置本身)。即我只想要卫星的数量,信噪比等等。我希望以尽可能节省电池的方式做到这一点。

实现此目的的一种方法是使用LocationManager回调获取卫星信息,然后使用onGpsStatusChanged之类的内容获取卫星信息。确实如此,我是这样做的。

关于这一点,我有几个问题,我在Android文档中找不到任何地方,也没有在我见过的任何在线论坛中找到!

  1. 如果不location_manager.getGpsStatus(null).getSatellites()添加onGpsStatusChanged LocationListener,我会调用LocationManager吗?我可以以某种方式查询GPS接收器向我发送卫星信息而无需注册LocationListener吗?即除了类似的东西之外,有没有直接的方法:

            location_manager.addGpsStatusListener(gps_status_listener_);
            location_manager.requestLocationUpdates(location_manager.getProvider(LocationManager.GPS_PROVIDER).getName(), 3000, 2f, location_listener_);
    

    因为对我来说,LocationListener没用。

  2. 定期附加GPSStatusListener是否更节省电量,获取卫星信息并移除听众或只需将其附加一次并继续投票,直到我不再需要它的某个时段。我意识到连续轮询是电池效率低下的,并且大多数问题涉及使用LocationManager轮询requestLocationUpdates并设置minTime和minDistance等以最小化电池消耗量。但是,我只需要卫星信息,所以也许有一种方法可以在不消耗电池的情况下连续轮询?

  3. 这导致我的下一个问题是:GPSStatusListener平均获得卫星信息的速度有多快。我意识到获得一个LOCATION需要一段时间,取决于Providers和LastKnownLocation和yada yada。但卫星信息怎么样?它更快吗?

  4. 如果有人可以帮助我,我会非常感激!提前谢谢你!

0 个答案:

没有答案