public classMainActivity extends Activity {//定位都要通过LocationManager这个类实现
privateLocationManager locationManager;privateString provider;
@SuppressWarnings("static-access")
@Overrideprotected voidonCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);//获取定位服务
locationManager =(LocationManager) getSystemService(Context.LOCATION_SERVICE);//获取当前可用的位置控制器
List list = locationManager.getProviders(true);if(list.contains(LocationManager.GPS_PROVIDER)) {//是否为GPS位置控制器
provider =LocationManager.GPS_PROVIDER;
}else if(list.contains(LocationManager.NETWORK_PROVIDER)) {//是否为网络位置控制器
provider =LocationManager.NETWORK_PROVIDER;
}else{
Toast.makeText(this, "请检查网络或GPS是否打开",
Toast.LENGTH_LONG).show();return;
}
Location location=locationManager.getLastKnownLocation(provider);if (location != null) {//获取当前位置,这里只用到了经纬度
String string = "纬度为:" + location.getLatitude() + ",经度为:"
+location.getLongitude();
}//绑定定位事件,监听位置是否改变//第一个参数为控制器类型第二个参数为监听位置变化的时间间隔(单位:毫秒)//第三个参数为位置变化的间隔(单位:米)第四个参数为位置监听器
locationManager.requestLocationUpdates(provider, 2000, 2,
locationListener);
}
LocationListener locationListener= newLocationListener() {
@Overridepublic void onStatusChanged(String arg0, intarg1, Bundle arg2) {//TODO Auto-generated method stub
}
@Overridepublic voidonProviderEnabled(String arg0) {//TODO Auto-generated method stub
}
@Overridepublic voidonProviderDisabled(String arg0) {//TODO Auto-generated method stub
}
@Overridepublic voidonLocationChanged(Location arg0) {//TODO Auto-generated method stub//更新当前经纬度
}
};//关闭时解除监听器
@Overrideprotected voidonDestroy() {//TODO Auto-generated method stub
super.onDestroy();if (locationManager != null) {
locationManager.removeUpdates(locationListener);
}
}
}