指南
如何在Capacitor中使用权限
使用@capgo/capacitor-permissions
一个TypeScriptAPI,用于检查和请求iOS、Android和web的运行时权限,具有标准化的状态代码。
安装
bun add @capgo/capacitor-permissions
bunx cap sync
此插件暴露了什么
check- 读取一个权限的当前状态而不提示用户。request- 请求用户授权一个权限。checkMultiple- 读取多个权限的状态而不提示用户。requestMultiple- 请求多个权限以序列方式。shouldShowRationale- 是否在Android上显示一个理由前再次请求。openSettings- 打开应用或通知设置以阻止访问。requestPreciseLocation- 在iOS上升级到精确位置,在Android上升级到精细位置。getPluginVersion- 返回平台实现版本标记。
- 示例用法
check - 和 request
import { Permissions } from '@capgo/capacitor-permissions';
export async function ensureCamera(): Promise<boolean> {
const { status } = await Permissions.check({ permission: 'camera' });
if (status === 'granted') return true;
const { status: afterRequest } = await Permissions.request({ permission: 'camera' });
return afterRequest === 'granted';
}
openSettings
import { Permissions } from '@capgo/capacitor-permissions';
document.getElementById('camera-settings')?.addEventListener('click', async () => {
const { status } = await Permissions.check({ permission: 'camera' });
if (status === 'blocked') {
await Permissions.openSettings({ type: 'application' });
}
});
- 全部参考
- - GitHub: https://github.com/Cap-go/capacitor-permissions/
- 文档:/docs/plugins/permissions/