Android三种GSM手机号码定位技术代码分享

发表于:2017年5月8日

代码如下:
//声明LocationManager对象
LocationManager loctionManager;
//通过系统服务,取得LocationManager对象
loctionManager =(LocationManager)getSystemService(Context.LOCATION_SERVICE);
方式一: 
复制代码代码如下:
//通过GPS位置提供器获得位置
字符串providerGPS = LocationManager.GPS_PROVIDER;
地点位置= loctionManager.getLastKnownLocation(providerGPS);
方式二: 
复制代码代码如下:
//通过基站位置提供器获得位置
字符串providerNetwork = LocationManager.NETWORK_PROVIDER;
地点位置= loctionManager.getLastKnownLocation(providerNetwork);
方式三: 
复制代码代码如下:
//使用标准集合,让系统自动选择可用的最佳位置提供器,提供位置
标准标准=新标准();
criteria.setAccuracy(Criteria.ACCURACY_FINE); //高精度
criteria.setAltitudeRequired(假); //不要求海拔
criteria.setBearingRequired(假); //不要求方位
criteria.setCostAllowed(TRUE); //允许有花费
criteria.setPowerRequirement(Criteria.POWER_LOW); //低功耗
//从可用的位置提供器中,匹配以上标准的最佳提供器
字符串提供商= loctionManager.getBestProvider(标准,真正的);
//获得最后一次变化的位置
地点位置= loctionManager.getLastKnownLocation(供应商);
处理: 
复制代码代码如下:
//显示在的EditText中
updateWithNewLocation(位置);
//监听位置变化,2秒一次,距离10米以上
loctionManager.requestLocationUpdates(供应商,1000,1,LocationListener的);
监听器及显示:
复制代码代码如下:
//位置监听器
私人最终LocationListener的LocationListener的=新LocationListener的(){
@Override
公共无效onStatusChanged(字符串商,INT地位,捆绑演员){
}
@Override
公共无效onProviderEnabled(字符串提供商){
}
@Override
公共无效onProviderDisabled(字符串提供商){
}
//当位置变化时触发
@Override
公共无效onLocationChanged(位置定位){
//使用新的位置更新的TextView显示
updateWithNewLocation(位置);
}
};
私人无效updateWithNewLocation(位置定位){
如果(位置!= NULL){
双纬度= location.getLatitude();
双LNG = location.getLongitude();
latStr = format.format(LAT);
lonStr = format.format(LNG);
txtLat.setText(latStr);
txtLon.setText(lonStr);
}其他{
txtLat.setText(“”);
txtLon.setText(“”);
}
}