diff --git a/docs/html/shareables/training/LocationAware.zip b/docs/html/shareables/training/LocationAware.zip index 46970cdc174c3..8ed97cbff32a2 100644 Binary files a/docs/html/shareables/training/LocationAware.zip and b/docs/html/shareables/training/LocationAware.zip differ diff --git a/docs/html/training/location/locationmanager.jd b/docs/html/training/location/locationmanager.jd index 5da120595f10c..61abcbdcf29d8 100644 --- a/docs/html/training/location/locationmanager.jd +++ b/docs/html/training/location/locationmanager.jd @@ -18,6 +18,7 @@ next.link=currentlocation.html
Some location providers such as the GPS can be disabled in Settings. It is good practice to check whether the desired location provider is currently enabled by calling the {@link android.location.LocationManager#isProviderEnabled(java.lang.String) isProviderEnabled()} method. If the location provider is disabled, you can offer the user an opportunity to enable it in Settings by firing an {@link android.content.Intent} with the {@link android.provider.Settings#ACTION_LOCATION_SOURCE_SETTINGS} action.
+ +
+@Override
+protected void onStart() {
+ super.onStart();
+
+ // This verification should be done during onStart() because the system calls
+ // this method when the user returns to the activity, which ensures the desired
+ // location provider is enabled each time the activity resumes from the stopped state.
+ LocationManager locationManager =
+ (LocationManager) getSystemService(Context.LOCATION_SERVICE);
+ final boolean gpsEnabled = locationManager.isProviderEnabled(LocationManager.GPS_PROVIDER);
+
+ if (!gpsEnabled) {
+ // Build an alert dialog here that requests that the user enable
+ // the location services, then when the user clicks the "OK" button,
+ // call enableLocationSettings()
+ }
+}
+
+private void enableLocationSettings() {
+ Intent settingsIntent = new Intent(Settings.ACTION_LOCATION_SOURCE_SETTINGS);
+ startActivity(settingsIntent);
+}
+