I am trying to set up location permission in android when I install the app in device automatically device assign the location permission to the app(using ManifestFile). if I manually disable the location from permission & run the app again It doesn't show me any popup (which I programmed to ask).
private const int LOCATION_GROUP_PERMISSION_REQUEST = 1;
if ((int)Build.VERSION.SdkInt > 22) {
            if (ContextCompat.CheckSelfPermission (this, Android.Manifest.Permission_group.Location) != Android.Content.PM.Permission.Granted) {
                Toast.MakeText (this, "Something Really wrong", ToastLength.Short).Show ();
                var data = ActivityCompat.ShouldShowRequestPermissionRationale (this, Manifest.Permission_group.Location);
                if (!data) {
                    AlertDialog.Builder builder;
                    builder = new AlertDialog.Builder (this);
                    builder.SetTitle ("Location Permission is Disabled");
                    builder.SetMessage ("Location permission is needed ");
                    builder.SetCancelable (false);
                    builder.SetPositiveButton ("Enable", delegate {
                        ActivityCompat.RequestPermissions (this, new String [] { Manifest.Permission_group.Location },
                                                       LOCATION_GROUP_PERMISSION_REQUEST);
                    });
                    builder.Show ();
                } else {
                    ActivityCompat.RequestPermissions (this, new String [] { Manifest.Permission_group.Location },
                                           LOCATION_GROUP_PERMISSION_REQUEST);
                }
            } else {
                GoToActivity ();
            }
        }
the data variable always return false
        public override void OnRequestPermissionsResult (int requestCode, string [] permissions, Android.Content.PM.Permission [] grantResults)
    {
        if (requestCode == LOCATION_GROUP_PERMISSION_REQUEST) {
            for (int i = 0; i < permissions.Length; i++) {
                if (grantResults [i] == Android.Content.PM.Permission.Granted) {
                    Toast.MakeText (this, "Param granted", ToastLength.Short).Show ();
                } else if (grantResults [i] == Android.Content.PM.Permission.Denied) {
                    Toast.MakeText (this, "param Denied", ToastLength.Short).Show ();
                }
            }
        } else {
            base.OnRequestPermissionsResult (requestCode, permissions, grantResults);
        }
    }
// permissions length Zero
 
     
     
    