我有一个绑定到数据适配器的 ListView,该适配器在我使用设备的 geoloc(纬度/经度)创建和加载我的位置对象后显示固定地标的距离。问题是,平均而言,加载下面的代码需要 3-7 秒,较长的过程是调用“requestLocationUpdates()”,如果没有 NETWORK_SERVICE 并且 GPS_SERVICE 成为主要的,有时可能需要几分钟才能加载,这使我活动列表视图空白
OnCreate() Activity 方法是调用 requestLocationUpdates() 的最佳位置吗?
locationManager = (LocationManager)getSystemService(Context.LOCATION_SERVICE); locationListener = new GeoLocationListener();
Criteria criteria = new Criteria();
criteria.setAccuracy(Criteria.ACCURACY_FINE);
criteria.setAltitudeRequired(false);
criteria.setBearingRequired(false);
criteria.setCostAllowed(false);
criteria.setSpeedRequired(false);
criteria.setPowerRequirement(Criteria.POWER_LOW);
String provider = locationManager.getBestProvider(criteria, true);
locationManager.requestLocationUpdates(provider,
0, //300000, // TODO: Default to Check Every 5 Minutes OR
0, //500, // TODO: Default to Check if device moves more than 500 meters
locationListener);