In my application I'm checking whether the GPS is enabled on the user's device, and if not I would like to send him to the Settings to let him turn it on.
Intent intent = new Intent(Settings.ACTION_LOCATION_SOURCE_SETTINGS);
startActivityForResult(intent, LocationHelper.LOCATION_SETTINGS_REQUEST_CODE);
After the user closes Settings screen, I would to perform an action right inside the onActivityResult()
.
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
if (requestCode == LocationHelper.LOCATION_SETTINGS_REQUEST_CODE) {
LogUtils.d("onActivityResult from settings");
fetchCurrentLocation();
}
}
However, the onActivityResult()
doesn't get called. Am I doing something wrong or this approach doesn't work in general? Thanks in advance.
lauch the setting intent :
Intent intent = new Intent(Settings.ACTION_LOCATION_SOURCE_SETTINGS);
startActivity(intent);
and fetch the current location in onResume method :
public void onResume(){
super.onResume();
if(isGPSEnabled){
fetchCurrentLocation();
}
}
after backing from setting screen , your onResume method will be call and here you can fetch your location.