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();
        }