示例#1
0
        public PermissionCallbackAsync(AndroidPermiossionType[] permissions, AndroidPermissionResultMultiple callback) : base("com.dotdotdot.ellipsis.RuntimePermissionsReceiver")
        {
            result = null;

            this.permissions = permissions;
            this.callback    = callback;
        }
示例#2
0
 private void ExecuteCallback()
 {
     if (callback != null)
     {
         callback(Permission.ProcessPermissionRequest(permissions, result));
         callback = null;
     }
 }
示例#3
0
        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
        }