Merge "Updated "Making your App Location Aware" class to include information on location provider enable check." into ics-mr1
This commit is contained in:
Binary file not shown.
@ -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>
|
||||
|
Reference in New Issue
Block a user