protected override void OnCreate(Bundle savedInstanceState) { base.OnCreate(savedInstanceState); this.context = Application.Context; //var intent = new Intent(); //intent.SetAction(Intent.ActionOpenDocumentTree); //StartActivityForResult(intent, 0); string permission = Intent.GetStringExtra(RequestedPermission); if (this.context.PackageManager.CheckPermission(permission, this.context.PackageName) == (int)Permission.Granted) { OnPermissionGranted?.Invoke(this, new PermissionRequestEventArgs { success = true }); Finish(); } else { RequestPermissions(new string[] { permission }, 0); } }
public override void OnRequestPermissionsResult(int requestCode, string[] permissions, Permission[] grantResults) { base.OnRequestPermissionsResult(requestCode, permissions, grantResults); //we can assume only one entry in grantResults if (requestCode == 0 && grantResults[0] == Permission.Granted) {//assume we got permission OnPermissionGranted?.Invoke(this, new PermissionRequestEventArgs { success = true }); } else { OnPermissionGranted?.Invoke(this, new PermissionRequestEventArgs { success = false }); } Finish(); }