2017-01-16 68 views
0

我需要听取用户打开或关闭GPS并对其采取行动。
我知道这可以使用GPSStatus类,但是这已被弃用。
现在我该怎么做?收听GPS状态变化

回答

1

您可以使用LocationListener!

private class MyLocationListener implements LocationListener { 

     @Override 
     public void onLocationChanged(Location loc) { 
      Toast.makeText(
        getBaseContext(), 
        "Location changed: Lat: " + loc.getLatitude() + " Lng: " 
          + loc.getLongitude(), Toast.LENGTH_SHORT).show(); 
      //handlePostion(loc); 
     } 
     @Override 
     public void onProviderDisabled(String provider) { 
} 

     @Override 
     public void onProviderEnabled(String provider) {} 

     @Override 
     public void onStatusChanged(String provider, int status, Bundle extras) {} 
    } 

及以下如​​何在GPS是关闭

使用监听

mLocationListener = new MyLocationListener(); 
mLocationManager = (LocationManager) getSystemService(Context.LOCATION_SERVICE); 
     mLocationListener = new MyLocationListener(); 
     mLocationManager.requestLocationUpdates(
       LocationManager.GPS_PROVIDER, 5000, 10, mLocationListener); 

并在providerDisabled回调就可以知道