权限
提供设备权限(剪贴板·联系人·相册·摄像头·麦克风·位置)的查询·请求功能和权限错误类。
API 列表
权限错误类 7 种(OpenCameraPermissionError 等也一并提供——当需要权限的 API 被拒绝时,这些类的实例会被抛出。
withPermission
功能说明
包装需要权限的函数。调用被包装的函数时会先请求对应权限,若被拒绝则 errorClass传入的错误被抛出,允许时执行原函数。
返回的函数还会附带查询同一权限的 getPermission()和再次请求权限的 openPermissionDialog()作为静态方法。框架内部的 Clipboard.getText, Device.getPhotos 同样 API 是通过这个函数创建的,因此可以以 Clipboard.getText.getPermission() 这种形式检查权限。
类型
Params
function withPermission<T extends (...args: any[]) => any>(
fn: T, // 要在权限被允许后执行的函数
name: PermissionName, // 要请求的权限名称
access: PermissionAccess, // 要请求的访问类型
errorClass: new () => PermissionErrorType, // 权限被拒绝时要抛出的错误类
): PermissionFunctionWithDialog<T>;Response
错误
errorClass传入的错误
权限请求结果为 denied的情况。
示例代码
PermissionError
功能说明
权限错误的公共父类。需要一次处理多个权限错误时 error instanceof PermissionError即可确认。 name在 `${methodName} permission error` 格式。
类型
Params
Response
示例代码
GetClipboardTextPermissionError
功能说明
在读取剪贴板权限被拒绝时发生的错误。 error instanceof GetClipboardTextPermissionError即可确认。 PermissionError继承自
类型
示例代码
SetClipboardTextPermissionError
功能说明
在剪贴板写入权限被拒绝时发生的错误。 error instanceof SetClipboardTextPermissionError即可确认。 PermissionError继承自
类型
示例代码
FetchContactsPermissionError
功能说明
在联系人权限被拒绝时发生的错误。 error instanceof FetchContactsPermissionError即可确认。 PermissionError继承自
类型
示例代码
FetchAlbumPhotosPermissionError
功能说明
在相册权限被拒绝时发生的错误。 error instanceof FetchAlbumPhotosPermissionError即可确认。 PermissionError继承自
类型
示例代码
GetCurrentLocationPermissionError
功能说明
在位置权限被拒绝时发生的错误。 error instanceof GetCurrentLocationPermissionError即可确认。 PermissionError继承自
类型
示例代码
StartUpdateLocationPermissionError
功能说明
在位置更新权限被拒绝时发生的错误。 GetCurrentLocationPermissionError因为它是指向相同类的别名, error instanceof StartUpdateLocationPermissionError是 GetCurrentLocationPermissionError 在实例上也 true。
类型
示例代码
OpenCameraPermissionError
功能说明
在摄像头权限被拒绝时发生的错误。 error instanceof OpenCameraPermissionError即可确认。 PermissionError继承自
类型
示例代码
PermissionName
功能说明
用于识别权限的名称类型。
类型
PermissionAccess
功能说明
权限的访问类型。 read/write用于剪贴板·联系人·相册这类区分读/写的权限, access用于位置·摄像头·麦克风这类没有区分的权限。
类型
PermissionStatus
功能说明
权限状态类型。 notDetermined是用户尚未对权限请求作出回应的状态。
类型
PermissionFunctionName
功能说明
发生权限错误的函数名称类型。 PermissionError中 name用于构成时。
类型
PermissionErrorConstructorParams
功能说明
PermissionError 传入构造函数的参数类型。
类型
PermissionErrorType
功能说明
withPermission中 errorClass 参数生成的错误实例的形态。
类型
GetPermissionFunction
功能说明
withPermission被 `withPermission` 包装的函数上附带的 getPermission 静态方法签名。
类型
PermissionDialogFunction
功能说明
withPermission被 `withPermission` 包装的函数上附带的 openPermissionDialog 静态方法签名。
类型
PermissionFunctionWithDialog
功能说明
withPermission所返回的函数类型。是原函数签名上 getPermission/openPermissionDialog 加上静态方法的形式。
类型
这有帮助吗?