关于Android GPS获取Location的问题,求高人指点~~~!
大家好!最近在做一个android的应用里面用到GPS的内容,过程中遇到问题!
贴个代码:
我们Criteria 去获取最佳的Provider,然后去用实现监听位置的改变。
但是在真机上面,我们直接这么去获取的话,获取到的Location会是一个Null,权限注册什么的都没有问题,现在我就非常不解,我们应该怎么去获取一个Location,或者说是获取一个不为NULL的Location,还是我上面这个方法本身就不对?有没有更好的方法,
贴个代码:
LocationManager locationManager;
String serviceName = Context.LOCATION_SERVICE;
locationManager = (LocationManager) this.getSystemService(serviceName);
// 查找到服务信息
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); // 获取GPS信息
Location location = locationManager.getLastKnownLocation(provider); // 通过GPS获取位置
if(location==null){
location = locationManager.getLastKnownLocation(locationManager.NETWORK_PROVIDER);
}
if (location != null) {
double latitude = location.getLatitude();
double longitude= location.getLongitude();
Address = ConvertUtil.getAddress(longitude, latitude);
}else{
Address =" ";
}
// 设置监听器,自动更新的最小时间为间隔N秒(1秒为1*1000,这样写主要为了方便)或最小位移变化超过N米
locationManager.requestLocationUpdates(provider, 100 * 1000, 500, new LocationListener(){
@Override
public void onLocationChanged(Location arg0) {
// TODO Auto-generated method stub
}
@Override
public void onProviderDisabled(String arg0) {
// TODO Auto-generated method stub
}
@Override
public void onProviderEnabled(String arg0) {
// TODO Auto-generated method stub
}
@Override
public void onStatusChanged(String arg0, int arg1, Bundle arg2) {
// TODO Auto-generated method stub
}
});我们Criteria 去获取最佳的Provider,然后去用实现监听位置的改变。
但是在真机上面,我们直接这么去获取的话,获取到的Location会是一个Null,权限注册什么的都没有问题,现在我就非常不解,我们应该怎么去获取一个Location,或者说是获取一个不为NULL的Location,还是我上面这个方法本身就不对?有没有更好的方法,
...全文
相关推荐
Android GPS室内定位问题的解决方法(location为null)
在Android开发中,GPS定位是常见的功能之一,但遇到室内定位问题时,由于建筑物遮挡,GPS信号通常较弱或无法接收到,导致location对象为null。
android使用GPS获取当前地理位置
在Android开发中,获取当前地理位置是一项常见的任务,通常我们依赖于GPS来实现精确的位置服务。在本文中,我们将深入探讨如何正确使用Android的GPS功能来获取地理位置,以及避免一些常见问题。
android根据GPS获取经纬度和海拔
这是获取位置信息的基础,没有这个权限,应用将无法访问GPS硬件:```xml<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION
安卓GPS定位源代码
例如,添加`<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />`以获取精确的位置信息。
安卓android GPS
Android系统为开发者提供了强大的GPS功能,使得应用程序能够获取精确的位置信息,实现地图导航、位置分享、运动轨迹记录等多种功能。本文将深入探讨安卓Android GPS的相关知识点。


