Enable location services for Android if user chose Never option

后端 未结 4 1814
故里飘歌
故里飘歌 2021-02-19 18:44

Is there any way to allow location services again for an app (or at least show the dialog) if the user previously chose the option Never?

4条回答
  •  故里飘歌
    2021-02-19 19:06

    I didn't find any workaround to enable location services if earlier the user had chosen "Never" option, so I followed @Lesvmac answer's above to ask user again to delete and reinstall app, but this I think isn't correct way to solve this problem around .

    So at present best way is to not allow "Never" option to appear in request dialog. Try to add

    builder.setAlwaysShow(true);
    

    to LocationSettingsRequest.Builder which will result in only "Yes" and "No" option instead of default "Never", "Yes" & "Not Now" & you will never receive SETTINGS_CHANGE_UNAVAILABLE

    Here's the full method:

     private void requestSettings() {
        LocationSettingsRequest.Builder builder =
                new LocationSettingsRequest.Builder()
                        .setAlwaysShow(true)
                        .addLocationRequest(request);
        PendingResult result =
                LocationServices.SettingsApi.checkLocationSettings(mGoogleApiClient,
                        builder.build());
    
        result.setResultCallback(this);
    }
    

    Before

    After

提交回复
热议问题