1. 让程序提供位置服务-> 如何获取LocationManager?

    通过调用android.app.Activity.getSystemService()函数
    String serviceString = Context.LOCATION_SERVICE;
    LocationManager locationManager =(LocationManager)getSystemService(serviceString);
  2. 获取LocationManager后指定其定位方法

    String provider = LocationManager.GPS_PROVIDER;
    Location location = locationManager.getLastKnownLocation(provider);
  3. 调用location中的方法

    double lat = location.getLatitude();
    double lng = location.getLongitude();
  4. 监视位置变化

    //参数说明:
    //provider:定位方法
    //2000:残剩位置改变事件的时间间隔
    //0:距离条件
    //locationListener:回调函数
    locationManager.requestLocationUpdates(provider, 2000, 0, locationListener);
    
    //locationListener的实现
    private final LocationListener locationListener = new LocationListener(){
    
         @Override
         public void onLocationChanged(Location location) {
             getLocationInfo(location);
         }
    
         @Override
         public void onProviderDisabled(String provider) {
             getLocationInfo(null);
         }
    
         @Override
         public void onProviderEnabled(String provider) {
             getLocationInfo(null);
         }
    
         @Override
         public void onStatusChanged(String provider, int status, Bundle extras) {
    
         }
  5. 最后要使GPS定位生效需要在AndroidManifest.xml加入用户许可

    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>

自由自在像小鸟
4 声望1 粉丝