Please help me to get request code for permissions "WRITE_EXTERNAL_STORAGE" and "WRITE_SETTINGS". Also let me know source for request codes.
Please help me to get request code for permissions "WRITE_EXTERNAL_STORAGE" and "WRITE_SETTINGS". Also let me know source for request codes.
You can pass any integer value you want as the request code.
The point of the request code is that you can distinguish between different permission requests in the onRequestPermissionsResult handler. The documentation example is as follows:
@Override
public void onRequestPermissionsResult(int requestCode,
String permissions[], int[] grantResults) {
switch (requestCode) {
case MY_PERMISSIONS_REQUEST_READ_CONTACTS: {
// If request is cancelled, the result arrays are empty.
if (grantResults.length > 0
&& grantResults[0] == PackageManager.PERMISSION_GRANTED) {
// permission was granted, yay! Do the
// contacts-related task you need to do.
} else {
// permission denied, boo! Disable the
// functionality that depends on this permission.
}
return;
}
// other 'case' lines to check for other
// permissions this app might request.
}
}
Here, MY_PERMISSIONS_REQUEST_READ_CONTACTS is some constant variable containing the request code. The requesting line might look like this:
int MY_PERMISSIONS_REQUEST_READ_CONTACTS = 1337;
ActivityCompat.requestPermissions(context,
new String[]{Manifest.permission.READ_CONTACTS},
MY_PERMISSIONS_REQUEST_READ_CONTACTS );
FOR XAMARIN FORMS
inject this code in MainActivity
protected override void OnCreate(Bundle savedInstanceState)
{
TabLayoutResource = Resource.Layout.Tabbar;
ToolbarResource = Resource.Layout.Toolbar;
string[] perm = new string[] { Manifest.Permission.WriteSettings, Manifest.Permission.WriteExternalStorage };
RequestPermissions(perm, 1);
Permission WESCheck = ContextCompat.CheckSelfPermission(Android.App.Application.Context, Manifest.Permission.WriteExternalStorage);
Permission WSCheck = ContextCompat.CheckSelfPermission(Android.App.Application.Context, Manifest.Permission.WriteSettings);
base.OnCreate(savedInstanceState);
global::Xamarin.Forms.Forms.Init(this, savedInstanceState);
LoadApplication(new App());
}
public void getPermission() {
if (ActivityCompat.checkSelfPermission(this, Manifest.permission.WRITE_EXTERNAL_STORAGE) != PackageManager.PERMISSION_GRANTED) {
ActivityCompat.requestPermissions(this, new String[]{Manifest.permission.READ_EXTERNAL_STORAGE, Manifest.permission.WRITE_EXTERNAL_STORAGE}, PERMISSION_CONSTANT);
} else {
uiBind();
}
}
@Override
public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) {
switch (requestCode) {
case PERMISSION_CONSTANT:
if (grantResults.length > 0 && grantResults[0] == PackageManager.PERMISSION_GRANTED) {
getPermission();
}
break;
}
}