public void OnPermissionRequest(int requestCode, Permission[] grantResults) { if (callbackHandler == null) { return; } bool permissionStatus = false; for (int i = 0, size = grantResults.Length; i < size; i++) { permissionStatus = grantResults[i] == Permission.Granted; if (permissionStatus == false) { break; } } bool isPermissionGranted = permissionStatus; Handler handler = new Handler(Looper.MainLooper); handler.Post(() => { if (isPermissionGranted) { callbackHandler.OnPermissionGranted(); } else { callbackHandler.OnPermissionDenied(); } callbackHandler = null; }); }
public void RequestPermissions(Activity activity, string[] permissions, IAppPermissionCallbackHdndler handler) { callbackHandler = handler; if (useHandlerActivity) { StartAppPermissionHandlerActivity(activity, permissions); } else { ActivityCompat.RequestPermissions(activity, permissions, REQUEST_CODE); } }
public void CheckAndRequestPermissons(Activity activity, string[] permissions, IAppPermissionCallbackHdndler handler) { if (activity == null) { return; } if (permissions == null) { return; } if (CheckForPermissions(activity, permissions)) { if (handler != null) { handler.OnPermissionGranted(); } } else { RequestPermissions(activity, permissions, handler); } }
public void CheckAndRequestPermisson(Activity activity, string permission, IAppPermissionCallbackHdndler handler) { CheckAndRequestPermissons(activity, new string[] { permission }, handler); }