private void AddPermission(PermissionRequestCode code) { INativeSDK native = this as INativeSDK; if (!native.HasPermisison(code)) { mPermissionList.Add(code); } }
void IOralEvaluation.EnsurePermission(UnityAction <string> callback) { mMessageBody.Register("permission_result", callback); AddPermission(PermissionRequestCode.WRITE_EXTERNAL_STORAGE); AddPermission(PermissionRequestCode.RECORD_AUDIO); AddPermission(PermissionRequestCode.READ_PHONE_STATE); if (mPermissionList.Count != 0) { INativeSDK native = this as INativeSDK; native.RequestPermission(callback, mPermissionList.ToArray()); } else { callback?.Invoke(null); } }