diff options
author | Fred Chung <fchung@google.com> | 2012-04-17 09:46:11 -0700 |
---|---|---|
committer | Android (Google) Code Review <android-gerrit@google.com> | 2012-04-17 09:46:11 -0700 |
commit | 3d467946b2950c6a5e4946c49a33cf4c8d68df20 (patch) | |
tree | a50666f37d11b59e6396f553993a110ac330cdce | |
parent | 38e09c3ddb7da47a23bf4221ab678e058c7e923a (diff) | |
parent | 9340e2122e5a34bddb32a83b721b797f694e590f (diff) | |
download | frameworks_base-3d467946b2950c6a5e4946c49a33cf4c8d68df20.zip frameworks_base-3d467946b2950c6a5e4946c49a33cf4c8d68df20.tar.gz frameworks_base-3d467946b2950c6a5e4946c49a33cf4c8d68df20.tar.bz2 |
Merge "Updated "Making your App Location Aware" class to include information on location provider enable check." into ics-mr1
-rw-r--r-- | docs/html/shareables/training/LocationAware.zip | bin | 36310 -> 261408 bytes | |||
-rw-r--r-- | docs/html/training/location/locationmanager.jd | 30 |
2 files changed, 30 insertions, 0 deletions
diff --git a/docs/html/shareables/training/LocationAware.zip b/docs/html/shareables/training/LocationAware.zip Binary files differindex 46970cd..8ed97cb 100644 --- a/docs/html/shareables/training/LocationAware.zip +++ b/docs/html/shareables/training/LocationAware.zip diff --git a/docs/html/training/location/locationmanager.jd b/docs/html/training/location/locationmanager.jd index 5da1205..61abcbd 100644 --- a/docs/html/training/location/locationmanager.jd +++ b/docs/html/training/location/locationmanager.jd @@ -18,6 +18,7 @@ next.link=currentlocation.html <li><a href="locationmanager.html#TaskDeclarePermissions">Declare Proper Permissions in Android Manifest</a></li> <li><a href="locationmanager.html#TaskGetLocationManagerRef">Get a Reference to LocationManager</a></li> <li><a href="locationmanager.html#TaskPickLocationProvider">Pick a Location Provider</a></li> + <li><a href="locationmanager.html#TaskVerifyProvider">Verify the Location Provider is Enabled</a></li> </ol> <h2>You should also read</h2> @@ -88,3 +89,32 @@ if (providerName != null) { ... } </pre> + +<h2 id="TaskVerifyProvider">Verify the Location Provider is Enabled</h2> + +<p>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.</p> + +<pre> +@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); +} +</pre> |