我在使用 Android 中的 LocationListener 时遇到了一些困难。我想制作一个应用程序来获取当前的 GPS 位置,然后长时间休眠。一天或更长时间。在这段时间里,我希望 GPS 通知图标不显示。
我现在拥有的是在 onLocationChanged 中的 Thread.sleep(x) 但这将使图标在 sleep 期间保持打开状态。我该怎么做,是否有比使用 Thread.sleep 更好的方法?
提前致谢
最佳答案
为此,您必须完全关闭 LocationManager。我在我的应用程序中做到了,我只每 10 秒检查一次位置,因为我发现,关闭比 LocationManager 的 min_distance 或 min_time 节省更多的电池电量。
类似于:
// Turning off
mLocationManager.removeUpdates(gpsListener);
mLocationManager = null;
// Turning on again
mLocationManager = (LocationManager) getApplicationContext().getSystemService(Context.LOCATION_SERVICE);
mLocationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, GPS_MINTIME, GPS_MINDISTANCE, gpsListener);
该图标将消失,直到 LocationManager 再次打开。
关于android - LocationListener 休眠时关闭 GPS 图标,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3333237/