__CAPGO_KEEP_0__ __CAPGO_KEEP_5__
@capgo/capacitor-权限 设备API 开源

权限 Capacitor插件

在iOS、Android和Web上使用一个PermissionName枚举和标准化状态代码检查和请求运行时权限

安装

bun add @capgo/capacitor-permissions bunx cap sync
npm、pnpm或yarn
  • npm install @capgo/capacitor-permissions
  • pnpm add @capgo/capacitor-permissions
  • yarn add @capgo/capacitor-permissions

指南

How to use Capacitor in Capacitor

使用 @capgo/capacitor-permissions

一个用于检查和请求 iOS、Android 和 web 平台的运行时权限的 TypeScript API,并且返回标准化的状态码。

安装

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' });
  }
});

context:Capgo营销网站。角色:短UI标签或导航项。见于:页面trust.astro。消息键`and` (And)。

FAQ

权限插件FAQ

如何在Capacitor应用中安装权限插件?

Run &quot;bun add @capgo/capacitor-permissions&quot; (or &quot;npm install @capgo/capacitor-permissions&quot;), then run &quot;bunx cap sync&quot; so the iOS and Android projects pick up the native code. Import it from &quot;@capgo/capacitor-permissions&quot; in your app code.

@capgo/capacitor-permissions 与 React、Vue 和 Angular 是否兼容?

是的。权限是Capacitor包,因此它与任何运行在Capacitor中的 web 框架兼容,包括 Ionic、React、Vue、Angular、Svelte 和普通 JavaScript。

哪个Capacitor版本支持 @capgo/capacitor-permissions?

Capgo 插件遵循Capacitor的主要版本:使用与Capacitor主要版本匹配的插件主要版本(例如插件 v8 与Capacitor 8)。在GitHub README 中的兼容性表格列出了维护的版本。

@capgo/capacitor-permissions 是否免费和开源?

是的。源code在GitHub上公开,https://github.com/Cap-go/capacitor-permissions/,并且该包从npm免费安装。欢迎 bug 报告和 pull 请求。

我可以在不经过 App Store 审核的情况下更新使用 Permissions 的 code 吗?

code 和 Capgo 的升级或安装会改变原生代码,因此需要重新构建 App Store。随后,调用该插件的 JavaScript、HTML 和 CSS 变更可以立即通过 Capgo 实时更新。

不必等待应用程序审查即可将权限更改

一旦插件在您的商店构建中,Capgo实时更新将将您的JavaScript、HTML和CSS更改推送给用户,仅需几分钟。

从Capgo开始