6 private event Action<string> OnPermissionGrantedAction;
7 private event Action<string> OnPermissionDeniedAction;
8 private event Action<string> OnPermissionDeniedAndDontAskAgainAction;
11 Action<string> onDeniedAndDontAskAgainCallback)
12 : base(
"com.ToolBar.EasyWebCam.UnityAndroidPermissions$IPermissionRequestResult2")
14 if (onGrantedCallback !=
null) OnPermissionGrantedAction += onGrantedCallback;
15 if (onDeniedCallback !=
null) OnPermissionDeniedAction += onDeniedCallback;
16 if (onDeniedAndDontAskAgainCallback !=
null)
17 OnPermissionDeniedAndDontAskAgainAction += onDeniedAndDontAskAgainCallback;
24 if (OnPermissionGrantedAction !=
null) OnPermissionGrantedAction(permissionName);
31 if (OnPermissionDeniedAction !=
null) OnPermissionDeniedAction(permissionName);
39 if (OnPermissionDeniedAndDontAskAgainAction !=
null)
40 OnPermissionDeniedAndDontAskAgainAction(permissionName);
41 else if (OnPermissionDeniedAction !=
null) OnPermissionDeniedAction(permissionName);
47 private static AndroidJavaObject m_Activity;
48 private static AndroidJavaObject m_PermissionService;
50 private static AndroidJavaObject GetActivity()
52 if (m_Activity ==
null)
54 var unityPlayer =
new AndroidJavaClass(
"com.unity3d.player.UnityPlayer");
55 m_Activity = unityPlayer.GetStatic<AndroidJavaObject>(
"currentActivity");
61 private static AndroidJavaObject GetPermissionsService()
63 return m_PermissionService ??
64 (m_PermissionService =
new AndroidJavaObject(
"com.ToolBar.EasyWebCam.UnityAndroidPermissions"));
69 return GetPermissionsService().Call<
bool>(
"IsPermissionGranted", GetActivity(), permissionName);
79 GetPermissionsService().Call(
"RequestPermissionAsync", GetActivity(), permissionNames, callback);
virtual void OnPermissionDeniedAndDontAskAgain(string permissionName)
virtual void OnPermissionDenied(string permissionName)
virtual void OnPermissionGranted(string permissionName)
AndroidPermissionCallback(Action< string > onGrantedCallback, Action< string > onDeniedCallback, Action< string > onDeniedAndDontAskAgainCallback)
static bool IsPermissionGranted(string permissionName)
static void RequestPermission(string permissionName, AndroidPermissionCallback callback)
static void RequestPermission(string[] permissionNames, AndroidPermissionCallback callback)