How to check if GPS is Disabled Android
30,052
You could use something like this:
final LocationManager manager = (LocationManager) getSystemService( Context.LOCATION_SERVICE );
if ( !manager.isProviderEnabled( LocationManager.GPS_PROVIDER ) ) {
// Call your Alert message
}
That should do the trick.
To check if Location Services are enabled, you can use code similar to this:
String locationProviders = Settings.Secure.getString(getContentResolver(), Settings.Secure.LOCATION_PROVIDERS_ALLOWED);
if (locationProviders == null || locationProviders.equals("")) {
...
startActivity(new Intent(Settings.ACTION_LOCATION_SOURCE_SETTINGS));
}
Source: Marcus' Post found here
Author by
Bruno Albuquerque
Updated on December 10, 2020Comments
-
Bruno Albuquerque over 3 years
I have two files MainActivity.java and HomeFragment.java in the MainActivity calls a function from HomeFragment that asks the user to turn on the location services on their phone. The problem is even when the user has the location feature already turned on the function is called anyway. Is there a way I can make it so only when the location feature is off that the function from the HomeFragment is launched.
HomeFragment.java
public static void displayPromptForEnablingGPS( final Activity activity) { final AlertDialog.Builder builder = new AlertDialog.Builder(activity); final String action = Settings.ACTION_LOCATION_SOURCE_SETTINGS; final String message = "Enable either GPS or any other location" + " service to find current location. Click OK to go to" + " location services settings to let you do so."; builder.setMessage(message) .setPositiveButton("OK", new DialogInterface.OnClickListener() { public void onClick(DialogInterface d, int id) { activity.startActivity(new Intent(action)); d.dismiss(); } }); builder.create().show(); }
MainActivity.java
public void showMainView() { HomeFragment.displayPromptForEnablingGPS(this); }
Thank you :)
-
BooleanCheese over 8 yearsFirst result from Google: stackoverflow.com/questions/843675/…
-
-
Bruno Albuquerque over 8 yearsliquidsystem thank you this work, but i was wondering if instead of GPS_PROVIDER if it could verify if "Access to my location" is active. Im asking because the user can have the "Use wireless networks" on and this also works.
-
liquidsystem over 8 yearsThis should provide you with your question: scotthelme.co.uk/android-location-services
-
Bruno Albuquerque over 8 yearsthank you for the response but i ended up using an "or" statement: if ( !manager.isProviderEnabled( LocationManager.GPS_PROVIDER ) || !manager.isProviderEnabled( LocationManager.NETWORK_PROVIDER ) )