以下的GPS定位代碼,在MOTO XT800,ME811,HTC S610d等手機中定位都沒有問題,但是在MOTO XT882里面就是無法定位,后來發現問題出現在紅色的代碼部分,強制改成GPS定位就可以了。
locationManager = (LocationManager) getSystemService(Context.LOCATION_SERVICE);
Criteria criteria = new Criteria();
criteria.setAccuracy(Criteria.ACCURACY_FINE);
criteria.setAltitudeRequired(false);
criteria.setBearingRequired(false);
criteria.setCostAllowed(true);
criteria.setPowerRequirement(Criteria.POWER_LOW);
String provider = locationManager.getBestProvider(criteria, true);
/* 每隔1000ms更新一次,并且不考慮位置的變化。 */
locationManager.requestLocationUpdates(provider, 3000, 5, locationListener);
//強制使用GPS定位
//locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 3000, 5, locationListener);
locationManager = (LocationManager) getSystemService(Context.LOCATION_SERVICE);
Criteria criteria = new Criteria();
criteria.setAccuracy(Criteria.ACCURACY_FINE);
criteria.setAltitudeRequired(false);
criteria.setBearingRequired(false);
criteria.setCostAllowed(true);
criteria.setPowerRequirement(Criteria.POWER_LOW);
String provider = locationManager.getBestProvider(criteria, true);
/* 每隔1000ms更新一次,并且不考慮位置的變化。 */
locationManager.requestLocationUpdates(provider, 3000, 5, locationListener);
//強制使用GPS定位
//locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 3000, 5, locationListener);