# @capawesome/capacitor-permissions 中文文档

规范地址：https://npmcn.com/package/%40capawesome/capacitor-permissions/

版本：0\.1\.2
npm 元数据更新时间：2026-09-02T08:23:06.638Z
中文译文更新时间：2026-11-09T05:36:48.471Z
软件包许可：MIT

本文由上游 README 翻译，可能存在偏差，请结合原文核对 API、命令与配置。版权与许可归原作者所有。

原始 npm 页面：https://www.npmjs.com/package/%40capawesome/capacitor-permissions
原文对照：https://npmcn.com/package/%40capawesome/capacitor-permissions/?lang=original
项目主页：https://capawesome.io/docs/sdks/capacitor/permissions/
源码仓库：https://github.com/capawesome-team/capacitor-plugins

## 关键信息（来自 npm 元数据）

- 包体积（解压后）：169 kB，51 个文件
- 模块格式：ESM + CJS
- TypeScript 类型：包内自带
- 运行依赖：0 个
- peer 依赖：@capacitor/core \>=8\.0\.0
- 首次发布：2026-07-07T18:36:10.619Z
- 最新版本发布：2026-09-02T08:23:06.299Z
- 近 30 天下载量：6397（2026-10-09 至 2026-11-07，npm 官方下载统计）
- 已发布版本数：4（近 12 个月 4 个）

## 中文简介

Capacitor插件可以检查和请求设备权限,在Android,iOS,和Web上有一个统一的API.

## 安装

```sh
npm install @capawesome/capacitor-permissions
```

也可以使用：`pnpm add @capawesome/capacitor-permissions`、`yarn add @capawesome/capacitor-permissions`、`bun add @capawesome/capacitor-permissions`

## README

# 电容许可插件

Capacitor 插件可以检查和请求设备权限,并使用统一的API.

[![Deliver Live Updates to your Capacitor app with Capawesome Cloud](https://cloud.capawesome.io/assets/banners/cloud-build-and-deploy-capacitor-apps.png?t=1)](https://cloud.capawesome.io/)

## 特征

-   🖥️ **跨平台**:支持Android,iOS和Web(部分).
-   🧩 **统一 API**: 检查并请求使用单个API的多个不同权限,而不是为每个选项安装特性插件.
-   🗂️ **已解析目录**: 支持蓝牙,日历,相机,联系人,位置,背景位置,麦克风,动作,通知,相片和提醒.
-   🔍 **快速免费检查**编号: `check(...)` 方法从不触发许可提示.
-   🪶 **轻巧**: 插件本身不声明任何权限 。 您的应用程序只声明其实际使用的权限 .
-   🤝 **兼容性**: 与 [设置启动器](https://capawesome.io/docs/sdks/capacitor/settings-launcher/) 财务报告和审定财务报表 [App 跟踪透明度](https://capawesome.io/docs/sdks/capacitor/app-tracking-transparency/) 插件 .
-   📦 **可可花和SPM**:支持CocoaPods和Swift软件包管理器用于iOS.
-   🔁 **最新数据**:总是支持最新的Capacitor版本.
-   ✨ **手工业**:由地而上地而上以关怀和专长而来,不是要塞或AI生成.

缺少一个功能? 刚刚 [打开一个问题](https://github.com/capawesome-team/capacitor-plugins/issues) 我们看看!

## 使用大小写

当应用程序需要在一个地方管理多个设备权限时,通常会使用权限插件,例如:

-   **登入屏幕**: 以快速免费方式检查您的应用程序使用的所有权限状态 `check(...)` 方法,并用一个概览来介绍.
-   **上下文许可请求**:在用户开始视频通话或录音之前,请求摄像头或麦克风许可.
-   **背景位置升级**: 请求 `LOCATION` 先允许,再升级到 `LOCATION_ALWAYS` 之后,按照平台的建议.
-   **从被拒绝的权限收回**: 检测 `denied` 状态并引导用户到应用程序设置中重新启用权限.

## 兼容性

| 插件版本 | 电容版本 | 状态 |
| --- | --- | --- |
| 0.x.x (中文(简体) ) | \>=8.x.x | 积极支持 |

## 安装

你可以用我们的 **AI 辅助设置** 以安装插件. 添加数据 [超级技能](https://github.com/capawesome-team/skills) 至您的 AI 工具,使用以下命令:

```bash
npx skills add capawesome-team/skills --skill capacitor-plugins
```

然后使用下列提示:

```
 Use the `capacitor-plugins` skill from `capawesome-team/skills` to install the `@capawesome/capacitor-permissions` plugin in my project.
```

如果你喜欢 **手动设置**,通过运行以下命令来安装插件,并遵循下面的平台特定指令:

```bash
npm install @capawesome/capacitor-permissions
npx cap sync
```

**请注意**: 插件本身确实如此 **没有** 声明任何权限和是否 **没有** 需要任何 Info.plist 密钥。 您的应用程序必须声明它实际使用的权限( 见下文) 。 这样, 您的应用程序不需要请求权限 .

### 机器人

#### 权限

将您要检查或请求的权限的列表条目添加到您的 `AndroidManifest.xml` 文档 `application` 标签。 如果未宣布许可,则 `request(...)` 方法以清晰的错误消息拒绝.

| 权限 | 需要列出的条目 |
| --- | --- |
| `BLUETOOTH` | `android.permission.BLUETOOTH_SCAN`, (中文(简体) ), `android.permission.BLUETOOTH_CONNECT` |
| `CALENDAR` | `android.permission.READ_CALENDAR`, (中文(简体) ), `android.permission.WRITE_CALENDAR` |
| `CAMERA` | `android.permission.CAMERA` |
| `CONTACTS` | `android.permission.READ_CONTACTS`, (中文(简体) ), `android.permission.WRITE_CONTACTS` |
| `LOCATION` | `android.permission.ACCESS_COARSE_LOCATION`, (中文(简体) ), `android.permission.ACCESS_FINE_LOCATION` |
| `LOCATION_ALWAYS` | `android.permission.ACCESS_BACKGROUND_LOCATION` (加上 `LOCATION` 条目) |
| `MICROPHONE` | `android.permission.RECORD_AUDIO` |
| `MOTION` | `android.permission.ACTIVITY_RECOGNITION` |
| `NOTIFICATIONS` | `android.permission.POST_NOTIFICATIONS` |
| `PHOTOS` | `android.permission.READ_MEDIA_IMAGES`, (中文(简体) ), `android.permission.READ_MEDIA_VISUAL_USER_SELECTED`, (中文(简体) ), `android.permission.READ_EXTERNAL_STORAGE` (最大 SDK 版本) `32`(中文(简体) ) |
| `REMINDERS` | 无法在Android上找到. |

**示例**数字 :

```xml
<!-- Required if you want to use the `BLUETOOTH` permission. -->
<uses-permission android:name="android.permission.BLUETOOTH_SCAN" android:usesPermissionFlags="neverForLocation" />
<uses-permission android:name="android.permission.BLUETOOTH_CONNECT" />
<!-- Required if you want to use the `CALENDAR` permission. -->
<uses-permission android:name="android.permission.READ_CALENDAR" />
<uses-permission android:name="android.permission.WRITE_CALENDAR" />
<!-- Required if you want to use the `CAMERA` permission. -->
<uses-permission android:name="android.permission.CAMERA" />
<!-- Required if you want to use the `CONTACTS` permission. -->
<uses-permission android:name="android.permission.READ_CONTACTS" />
<uses-permission android:name="android.permission.WRITE_CONTACTS" />
<!-- Required if you want to use the `LOCATION` or `LOCATION_ALWAYS` permission. -->
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<!-- Required if you want to use the `LOCATION_ALWAYS` permission. -->
<uses-permission android:name="android.permission.ACCESS_BACKGROUND_LOCATION" />
<!-- Required if you want to use the `MICROPHONE` permission. -->
<uses-permission android:name="android.permission.RECORD_AUDIO" />
<!-- Required if you want to use the `MOTION` permission. -->
<uses-permission android:name="android.permission.ACTIVITY_RECOGNITION" />
<!-- Required if you want to use the `NOTIFICATIONS` permission. -->
<uses-permission android:name="android.permission.POST_NOTIFICATIONS" />
<!-- Required if you want to use the `PHOTOS` permission. -->
<uses-permission android:name="android.permission.READ_MEDIA_IMAGES" />
<uses-permission android:name="android.permission.READ_MEDIA_VISUAL_USER_SELECTED" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" android:maxSdkVersion="32" />
```

### iOS系统

#### 隐私描述

将您想要请求的权限的用法描述密钥添加到 `ios/App/App/Info.plist` 文档。 如果缺少密钥,则 `request(...)` 方法以清晰的错误消息拒绝.

| 权限 | 需要的Info.plist 密钥 |
| --- | --- |
| `BLUETOOTH` | `NSBluetoothAlwaysUsageDescription` |
| `CALENDAR` | `NSCalendarsFullAccessUsageDescription` (iOS 17+), (中文(简体) ), `NSCalendarsUsageDescription` (16岁以上) |
| `CAMERA` | `NSCameraUsageDescription` |
| `CONTACTS` | `NSContactsUsageDescription` |
| `LOCATION` | `NSLocationWhenInUseUsageDescription` |
| `LOCATION_ALWAYS` | `NSLocationAlwaysAndWhenInUseUsageDescription`, (中文(简体) ), `NSLocationWhenInUseUsageDescription` |
| `MICROPHONE` | `NSMicrophoneUsageDescription` |
| `MOTION` | `NSMotionUsageDescription` |
| `NOTIFICATIONS` | 无 |
| `PHOTOS` | `NSPhotoLibraryUsageDescription` |
| `REMINDERS` | `NSRemindersFullAccessUsageDescription` (iOS 17+), (中文(简体) ), `NSRemindersUsageDescription` (16岁以上) |

**示例**数字 :

```xml
<key>NSCameraUsageDescription</key>
<string>The camera is used to take photos.</string>
<key>NSMicrophoneUsageDescription</key>
<string>The microphone is used to record audio.</string>
```

**说明**:由于插件引用了所有支持权限的系统框架,App Store Connect可能会要求您在上传您的应用程序时提供额外的使用描述,即使您没有请求这些权限.

## 配置

此插件不需要配置 .

## 使用量

以下示例显示如何检查一个或多个权限的状态以及如何向用户请求.

### 请检查一个或多个权限的状态

使用 `check(...)` 方法读取一个或多个权限的当前状态。 这种方法从不显示权限提示,因此随时可以安全调用,例如构建登入或设置屏幕:

```typescript
import { Permission, Permissions } from '@capawesome/capacitor-permissions';

const checkPermissions = async () => {
  const { statuses } = await Permissions.check({
    permissions: [Permission.Camera, Permission.Microphone],
  });
  return statuses;
};
```

### 请求一个或多个权限

使用 `request(...)` 用于提醒用户获取一个或多个权限的方法。 已经授予或无法请求在当前平台上的权限不再请求;在这种情况下,会返回当前状态. 在网络上,只有 `NOTIFICATIONS` 请求权限 :

```typescript
import { Permission, Permissions } from '@capawesome/capacitor-permissions';

const requestPermissions = async () => {
  const { statuses } = await Permissions.request({
    permissions: [Permission.Camera, Permission.Microphone],
  });
  return statuses;
};
```

## API 密码

-   [`check(...)`](https://npmcn.com/package/%40capawesome/capacitor-permissions/#readme-check)
-   [`request(...)`](https://npmcn.com/package/%40capawesome/capacitor-permissions/#readme-request)
-   [接口](https://npmcn.com/package/%40capawesome/capacitor-permissions/#readme-interfaces)
-   [类型异名](https://npmcn.com/package/%40capawesome/capacitor-permissions/#readme-type-aliases)
-   [数字](https://npmcn.com/package/%40capawesome/capacitor-permissions/#readme-enums)

### 检查(...)

```typescript
check(options: CheckOptions) => Promise<CheckResult>
```

请检查一个或多个权限的当前状态 .

此方法从未显示权限提示 .

| 参数 | 类型 |
| --- | --- |
| **`options`** | `[CheckOptions](https://npmcn.com/package/%40capawesome/capacitor-permissions/#readme-checkoptions)` |

**回返情况:** `Promise<[CheckResult](https://npmcn.com/package/%40capawesome/capacitor-permissions/#readme-checkresult)>`

**自:** 0.1.0 (中文(简体) )

* * *

### 请求(...)

```typescript
request(options: RequestOptions) => Promise<RequestResult>
```

请用户提供一个或多个权限 .

已经授予或无法请求的权限 在当前平台上不再请求。 在这种情况下, 返回当前权限状态.

在Android上,必须在 `AndroidManifest.xml` 您的应用程序文件 。 否则,该呼吁被拒绝.

在iOS上,必须在 `Info.plist` 您的应用程序文件 。 否则,该呼吁被拒绝.

在网络上,只有 `NOTIFICATIONS` 可以请求权限. 对于所有其他权限,当前状态自 浏览器显示相应的权限提示 网络API首次被使用.

| 参数 | 类型 |
| --- | --- |
| **`options`** | `[RequestOptions](https://npmcn.com/package/%40capawesome/capacitor-permissions/#readme-requestoptions)` |

**回返情况:** `Promise<[RequestResult](https://npmcn.com/package/%40capawesome/capacitor-permissions/#readme-requestresult)>`

**自:** 0.1.0 (中文(简体) )

* * *

### 接口

#### 检查结果

| Prop | 类型 | 说明 | 自兹 |
| --- | --- | --- | --- |
| **`statuses`** | `PermissionStatus[]` | 检查权限的状态与提供的权限顺序相同. | 0.1.0 (中文(简体) ) |

#### 权限状态

| Prop | 类型 | 说明 | 自兹 |
| --- | --- | --- | --- |
| **`permission`** | `[Permission](https://npmcn.com/package/%40capawesome/capacitor-permissions/#readme-permission)` | 检查或要求的许可 . | 0.1.0 (中文(简体) ) |
| **`state`** | `[PermissionState](https://npmcn.com/package/%40capawesome/capacitor-permissions/#readme-permissionstate)` | 许可状态. | 0.1.0 (中文(简体) ) |

#### 检查选项

| Prop | 类型 | 说明 | 自兹 |
| --- | --- | --- | --- |
| **`permissions`** | `Permission[]` | 检查权限 . | 0.1.0 (中文(简体) ) |

#### 请求结果

| Prop | 类型 | 说明 | 自兹 |
| --- | --- | --- | --- |
| **`statuses`** | `PermissionStatus[]` | 所请求的许可状态与所提供的许可顺序相同. | 0.1.0 (中文(简体) ) |

#### 请求选项

| Prop | 类型 | 说明 | 自兹 |
| --- | --- | --- | --- |
| **`permissions`** | `Permission[]` | 请求权限 . | 0.1.0 (中文(简体) ) |

### 类型异名

#### 权限状态

`'prompt' | 'prompt-with-rationale' | 'granted' | 'denied'`

### 数字

#### 权限

| 成员 | 数值 | 说明 | 自兹 |
| --- | --- | --- | --- |
| **`Bluetooth`** | `'BLUETOOTH'` | [权限](https://npmcn.com/package/%40capawesome/capacitor-permissions/#readme-permission) 要使用蓝牙。 在Android 12(API 31级)上,这包括: `BLUETOOTH_SCAN` 财务报告和审定财务报表 `BLUETOOTH_CONNECT` 权限。 对于更古老的Android版本,不需要运行时间许可,状态总是 `granted`。在网络上,此权限不可用. | 0.1.0 (中文(简体) ) |
| **`Calendar`** | `'CALENDAR'` | [权限](https://npmcn.com/package/%40capawesome/capacitor-permissions/#readme-permission) 来读写日历事件。 在iOS 17 上及其后,只写访问被报告为 `limited`。在网络上,此权限不可用. | 0.1.0 (中文(简体) ) |
| **`Camera`** | `'CAMERA'` | [权限](https://npmcn.com/package/%40capawesome/capacitor-permissions/#readme-permission) 用摄像机. | 0.1.0 (中文(简体) ) |
| **`Contacts`** | `'CONTACTS'` | [权限](https://npmcn.com/package/%40capawesome/capacitor-permissions/#readme-permission) 用于读取和写出联系人。 关于iOS 18, 以及后来, 有限访问被报告为 `limited`。在网络上,此权限不可用. | 0.1.0 (中文(简体) ) |
| **`Location`** | `'LOCATION'` | [权限](https://npmcn.com/package/%40capawesome/capacitor-permissions/#readme-permission) 在应用程序使用时访问该位置。 在Android 12(API 第31关)上,以及后来,用户可能只允许近似位置访问. 在这种情况下,该州仍被报告为 `granted`。 。 。 . | 0.1.0 (中文(简体) ) |
| **`LocationAlways`** | `'LOCATION_ALWAYS'` | [权限](https://npmcn.com/package/%40capawesome/capacitor-permissions/#readme-permission) 即使应用程序处于背景状态,也可以访问该位置。 只有在 `LOCATION` 已经获得许可。 网络上没有此权限 . | 0.1.0 (中文(简体) ) |
| **`Microphone`** | `'MICROPHONE'` | [权限](https://npmcn.com/package/%40capawesome/capacitor-permissions/#readme-permission) 用麦克风. | 0.1.0 (中文(简体) ) |
| **`Motion`** | `'MOTION'` | [权限](https://npmcn.com/package/%40capawesome/capacitor-permissions/#readme-permission) 获取运动和健身数据。 在Android 10(API 29级)上,这包括: `ACTIVITY_RECOGNITION` 允许。 对于更古老的Android版本,不需要运行时间许可,状态总是 `granted`。在网络上,此权限不可用. | 0.1.0 (中文(简体) ) |
| **`Notifications`** | `'NOTIFICATIONS'` | [权限](https://npmcn.com/package/%40capawesome/capacitor-permissions/#readme-permission) 以显示通知。 在Android 13(API 33级)上,这包括: `POST_NOTIFICATIONS` 允许。 对于更古老的Android版本,不需要运行时间许可,状态总是 `granted`。 。 。 . | 0.1.0 (中文(简体) ) |
| **`Photos`** | `'PHOTOS'` | [权限](https://npmcn.com/package/%40capawesome/capacitor-permissions/#readme-permission) 访问相片库。 在Android 14(API 第34级)以及后来和iOS上,部分访问相片库被报告为 `limited`。在网络上,此权限不可用. | 0.1.0 (中文(简体) ) |
| **`Reminders`** | `'REMINDERS'` | [权限](https://npmcn.com/package/%40capawesome/capacitor-permissions/#readme-permission) 读取和写出提醒。 仅在iOS上可用. | 0.1.0 (中文(简体) ) |

## 平台行为

下表总结了每个平台上每个权限的行为:

| 权限 | 机器人 | iOS系统 | 网页 |
| --- | --- | --- | --- |
| `BLUETOOTH` | 封面 `BLUETOOTH_SCAN` 财务报告和审定财务报表 `BLUETOOTH_CONNECT` 在Android 12+上出现. 在旧版本,总是 `granted`。 。 。 . | 覆盖核心蓝牙授权. | 永远 `unavailable`。 。 。 . |
| `CALENDAR` | 封面 `READ_CALENDAR` 财务报告和审定财务报表 `WRITE_CALENDAR`。 。 。 . | 在iOS 17+上,只写访问被报告为 `limited`。 。 。 . | 永远 `unavailable`。 。 。 . |
| `CAMERA` | 封面 `CAMERA`。 。 。 . | 盖相机授权. | 检查已支持 。 请求返回当前状态 . |
| `CONTACTS` | 封面 `READ_CONTACTS` 财务报告和审定财务报表 `WRITE_CONTACTS`。 。 。 . | 在iOS 18+上,有限访问报告为: `limited`。 。 。 . | 永远 `unavailable`。 。 。 . |
| `LOCATION` | 封面 `ACCESS_COARSE_LOCATION` 财务报告和审定财务报表 `ACCESS_FINE_LOCATION`报告为 `granted` 如果至少已经允许大致进入地点. | 涵盖在使用时的位置授权. | 检查已支持 。 请求返回当前状态 . |
| `LOCATION_ALWAYS` | 封面 `ACCESS_BACKGROUND_LOCATION` 在Android 10+上出现. 在旧版本,行为像 `LOCATION`。 。 。 . | 覆盖总是位置授权。 iOS只显示一次升级提示. | 永远 `unavailable`。 。 。 . |
| `MICROPHONE` | 封面 `RECORD_AUDIO`。 。 。 . | 覆盖麦克风授权. | 检查已支持 。 请求返回当前状态 . |
| `MOTION` | 封面 `ACTIVITY_RECOGNITION` 在Android 10+上出现. 在旧版本,总是 `granted`。 。 。 . | 包括活动授权。 需要一个真正的设备. | 永远 `unavailable`。 。 。 . |
| `NOTIFICATIONS` | 封面 `POST_NOTIFICATIONS` 安卓13号+ 在旧版本,总是 `granted`。 。 。 . | 包括通知授权. | 检查和请求支持 . |
| `PHOTOS` | 封面 `READ_MEDIA_IMAGES` (和 `READ_MEDIA_VISUAL_USER_SELECTED`)在Android 13+上,并 `READ_EXTERNAL_STORAGE` 在旧版本。 部分访问报告为 `limited`。 。 。 . | 部分访问报告为 `limited`。 。 。 . | 永远 `unavailable`。 。 。 . |
| `REMINDERS` | 永远 `unavailable`。 。 。 . | 包括提醒授权. | 永远 `unavailable`。 。 。 . |

## 请求背景位置

这个 `LOCATION_ALWAYS` 仅应在 `LOCATION` 已授予许可 :

1.  请 `LOCATION` 并解释为什么您需要访问位置.
2.  批准后,请 `LOCATION_ALWAYS` 允许.

在Android 11上及后期,系统没有显示背景位置的提示. 相反,用户被带到系统设置中来选择"Allow all the time"选项. 如果 `LOCATION` 尚未获得许可,该系统立即拒绝这项请求.

在iOS上,系统只显示从被使用时到总访问一次的升级提示. 如果用户已经做出决定,则返回当前状态.

## 从被拒绝的权限收回

如果许可是在 `denied` 状态,无法再从应用程序中请求它 。 在这种情况下,您可以使用 [设置启动器](https://capawesome.io/docs/sdks/capacitor/settings-launcher/) 插件 :

```typescript
import { SettingsLauncher } from '@capawesome/capacitor-settings-launcher';

const openAppSettings = async () => {
  await SettingsLauncher.openAppSettings();
};
```

## App 跟踪透明度

App Track Communications 权限被故意不在此插件中. 使用 [App 跟踪透明度](https://capawesome.io/docs/sdks/capacitor/app-tracking-transparency/) 插件替换 .

## 财务问题

### 此插件与其他类似插件有何不同?

它将许多设备权限置于一个统一,完全打入的API下——蓝牙,日历,相机,联系人,位置,背景位置,麦克风,运动,通知,相片和提醒——所以你检查和要求它们全部在一个地方. 这个 `check(...)` 方法从不触发系统提示,插件本身就宣布没有权限,所以您的应用只传送它实际使用的程序。 它的手工制作非常小心,跨越了Android,iOS和Web(部分),并与最新的Capacitor版本保持同步.

### 这是否 `check` 方法触发许可提示 ?

不,那个 `check(...)` 方法从不显示权限提示。 它只读取给定权限的当前状态,因此可以在任何时候安全地调用它,例如构建一个登入或设置屏幕.

### 为什么 `request` 用错误拒绝方法 ?

在Android上,必须在 `AndroidManifest.xml` 您的应用程序文件 。 在iOS上,必须在 `Info.plist` 您的应用程序文件 。 如果缺少声明 `request(...)` 方法以清晰的错误消息拒绝。 见 [安装](https://npmcn.com/package/%40capawesome/capacitor-permissions/#readme-installation) 每个许可所需的条目.

### 我需要在应用程序中声明所有支持的权限吗?

不,插件本身不声明任何权限,也不要求任何Info.plist密钥. 您的应用程序只声明它实际使用的权限 。 这样, 您的应用程序不需要请求权限 .

### 我如何请求访问背景位置?

请 `LOCATION` 首先,一旦获得许可,则请求 `LOCATION_ALWAYS` 允许。 在Android 11上及后期,系统不显示提示背景位置;而是将用户带到系统设置中选择"Allow all the time"选项. 在iOS上,系统只显示从被使用时到总访问一次的升级提示.

### 如果拒绝许可我该怎么办?

如果许可是在 `denied` 状态,无法再从应用程序中请求它 。 在这种情况下,您可以使用 [设置启动器](https://capawesome.io/docs/sdks/capacitor/settings-launcher/) 插件让他们可以手动授予权限 .

### 网络上支持哪些权限 ?

在网络上,只有 `NOTIFICATIONS` 可以检查和请求权限。 这个 `CAMERA`, (中文(简体) ), `LOCATION` 财务报告和审定财务报表 `MICROPHONE` 权限支持检查,同时请求返回当前状态,因为浏览器首次使用相应的网页API时会显示权限提示。 所有其他许可均报告为 `unavailable`见 [平台行为](https://npmcn.com/package/%40capawesome/capacitor-permissions/#readme-platform-behavior) 详细情况.

## 相关插件

-   [App 跟踪透明度](https://capawesome.io/docs/sdks/capacitor/app-tracking-transparency/): 请求iOS上的App跟踪透明许可.
-   [设置启动器](https://capawesome.io/docs/sdks/capacitor/settings-launcher/): 打开本地设置屏幕, 例如从拒绝的权限中恢复 .

## 通讯

随时更新有关卡帕韦索姆、Capacitor和Ionic生态系统的最新消息和最新消息,因为我们 [《卡帕索克通讯》](https://cloud.capawesome.io/newsletter/)。 。 。 .

## 更改日志

见 [变动情况](https://github.com/capawesome-team/capacitor-plugins/blob/main/packages/permissions/CHANGELOG.md)。 。 。 .

## 许可证

见 [自由主义](https://github.com/capawesome-team/capacitor-plugins/blob/main/packages/permissions/LICENSE)。 。 。 .

## 常见问题

### @capawesome/capacitor-permissions 是什么？

Capacitor插件可以检查和请求设备权限,在Android,iOS,和Web上有一个统一的API\.

### 如何安装 @capawesome/capacitor-permissions？

在项目目录运行 npm install @capawesome/capacitor-permissions，或使用 pnpm add / yarn add / bun add。它还需要宿主项目提供 peer 依赖：@capacitor/core（\>=8\.0\.0）。npm 7 及以上与 pnpm 8 及以上默认会自动安装必需的 peer 依赖，Yarn 需要手动安装。

### @capawesome/capacitor-permissions 支持 TypeScript 吗？

支持。包内自带 TypeScript 类型声明（package\.json 声明了 types 入口），安装后即可获得类型提示，无需再安装 @types 包。

### @capawesome/capacitor-permissions 支持 ESM 还是 CommonJS？

同时提供 ES Module 与 CommonJS 入口，import 和 require\(\) 都可以使用，打包工具会自动选择合适的版本。

### @capawesome/capacitor-permissions 可以商用吗？

@capawesome/capacitor-permissions 使用 MIT 许可。宽松许可：允许商业使用、修改和再分发，通常只需在分发时保留原版权与许可声明。以上为概括，不构成法律意见，请以许可原文为准。

### @capawesome/capacitor-permissions 的下载量有多少？

根据 npm 官方下载统计，@capawesome/capacitor-permissions 在 2026/10/09 – 2026/11/07 这 30 天内被下载 6,397 次，日均约 213 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入，适合横向比较热度，不能直接等同于使用人数。

### @capawesome/capacitor-permissions 还在维护吗？

最新版本 0\.1\.2 发布于 2026/09/02（2 个月前）；至今共发布 4 个版本，其中过去 12 个月发布了 4 个；首次发布于 2026/07/08。发布频率只是参考信号：功能稳定的工具可能很少需要更新，建议结合源码仓库的 issue 和提交记录判断。

