0

我只需要有关 Android 上某个位置的粗略数据,因此获取它时主要考虑的是保持电池电量。我认为这段代码:

    LocationManager locationManager = (LocationManager) getSystemService(Context.LOCATION_SERVICE);
    locationManager.requestLocationUpdates(LocationManager.NETWORK_PROVIDER, 10 * 60 * 1000, 1000, this);

是正确的策略吗?还是最好每 10 分钟检查一次新位置并禁用侦听器,这似乎更接近 Google 网站上提出的代码,尽管对我来说不太合乎逻辑?

4

1 回答 1

1

而不是提及提供者名称使用标准来获取提供者。并且,使用标准来设置您的要求。

Criteria criteria = new Criteria();
criteria.setAccuracy(Criteria.ACCURACY_FINE);
criteria.setAltitudeRequired(false);
criteria.setBearingRequired(false);
criteria.setCostAllowed(true);
criteria.setPowerRequirement(Criteria.POWER_LOW);
final String bestProvider = manager.getBestProvider(criteria, true);

然后最后,

locationManager.requestLocationUpdates(bestProvider, 0,1000, this);

或者,您可以在完成任务后立即请求单个位置更新或禁用侦听器

于 2013-10-06T18:57:08.680 回答