亦余心之所善兮,虽九死其犹未悔。这篇文章主要讲述android获取位置location为null的问题相关的知识,希望能为你提供帮助。
12:38:542016-12-23 |
< uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
< uses-permission android:name="android.permission.ACCESS_MOCK_LOCATION"/>
第二个我们调用的方法是 Location location = locationManager.getLastKnownLocation(provider);
这个方法主要是获取上一次的经纬度信息,上一次的话肯定是空的啦。。这是要注册一下获取事件的监听器
等一会以后就可以拿到了经纬度了。。所以说一开始不要着急获取经纬度。。等待一会就有了。。不会报空指针异常。
LocationManager locationManager;
String serviceName = Context.LOCATION_SERVICE;
locationManager = (LocationManager) con.getSystemService(serviceName); // 查找到服务信息
//locationManager.setTestProviderEnabled("gps", true);
locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 3000, 0, mLocationListener01);
locationManager.requestLocationUpdates(LocationManager.NETWORK_PROVIDER, 3000, 0, mLocationListener01);
获取数据和监听器
* 通过location获取当前设备的具体位置
*
* @param location
* @param rowId
* @param params
* @param rowId
*/
private Location updateToNewLocation(Location location) {
System.out.println("--------zhixing--2--------");
String latLongString;
double lat = 0;
double lng=0;
if (location != null) {
lat = location.getLatitude();
lng = location.getLongitude();
latLongString = "纬度:" + lat + "\n经度:" + lng;
System.out.println("经度:"+lng+"纬度:"+lat);
} else {
latLongString = "无法获取地理信息,请稍后...";
}
if(lat!=0){
System.out.println("--------反馈信息----------"+ String.valueOf(lat));
}
Toast.makeText(getApplicationContext(), latLongString, Toast.LENGTH_SHORT).show();
return location;
}
// 设置监听器,自动更新的最小时间为间隔N秒(1秒为1*1000,这样写主要为了方便)或最小位移变化超过N米
public final LocationListener mLocationListener01 = new LocationListener() {
@Override
public void onLocationChanged(Location location) {
updateToNewLocation(location);
}
@Override
public void onProviderDisabled(String provider) {
updateToNewLocation(null);
}
@Override
public void onProviderEnabled(String provider) {}
【android获取位置location为null的问题】 @Override
public void onStatusChanged(String provider, int status, Bundle extras) {}
};
经过测试。。没有问题。。希望帮到你们。。。
推荐阅读
- Android6.0 WMS WMS动画管理
- 转 Android RadioButton设置选中时文字和背景颜色同时改变
- Android Studio第二十六期 - 自定义Activity中Fragment之间的传值
- unity, reduce android size
- Android中Activity处理返回结果的实现方式
- eclipse JNI项目迁移android studio相关问题
- Android Studio第二十五期 - 自定义键盘+支付输入框
- Android6.0权限组申请
- android 指示器tablatyout