public PermissionCallbackAsync(AndroidPermiossionType[] permissions, AndroidPermissionResultMultiple callback) : base("com.dotdotdot.ellipsis.RuntimePermissionsReceiver") { result = null; this.permissions = permissions; this.callback = callback; }
private void ExecuteCallback() { if (callback != null) { callback(Permission.ProcessPermissionRequest(permissions, result)); callback = null; } }
public static void RequestAsync(AndroidPermiossionType[] types, AndroidPermissionResultMultiple callback) { var output = new Dictionary <AndroidPermiossionType, PermissionState>(); #if UNITY_ANDROID var permissions = types.Select(e => e.ToPermissionString()).ToArray(); PermissionCallbackAsync nativeCallback = new PermissionCallbackAsync(types, callback); ajc.CallStatic("RequestPermission", permissions, context, nativeCallback, GetCachedPermissionStates(permissions)); #else if (callback != null) { callback(permissions, GetDummyResult(permissions)); } #endif }