在使用android手机自带的定位api,有GPS_PROVIDER和network_provider两种方式,
而开gps_provider获取定位很慢,所以一般开启gps_provider与network_provider两种同种监听.
由了android开源导致很有些厂商去掉network_provider或gps_provider功能,
而我们在定位的代码很多人直接
String provider=gps_provider或network_provider;
locationManager.requestLocationUpdates(provider, 100 * 1000, 500,
locationListener);
在测试的时候一般也很少出题,而在有些手机里直接退出(本人要真机上测试过)
解决方式,
LocationManager alm = (LocationManager) this
.getSystemService(Context.LOCATION_SERVICE);if (alm.isProviderEnabled(android.location.LocationManager.GPS_PROVIDER)) {}
isProviderEnabled对应手机-setting,位置使用无线网络(network_provider)和gps卫星(gps_provider)如果勾选当为true,否则为false
有些手机并没有使用无线网络(network_provider)所以会导致locationListener有导常
如果有不同的意见欢迎指出