__CAPGO_KEEP_0__
@capgo/capacitor-alarm 设备API 开源

闹钟 Capacitor 插件

即使应用程序关闭,仍可计划本地闹钟和通知

安装

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

指南

如何在Capacitor中使用Alarm

使用 @capgo/capacitor-alarm

Capacitor Alarm Plugin 接口用于管理本机操作系统的闹钟。

安装

bun add @capgo/capacitor-alarm
bunx cap sync

bunx cap sync 复制插件的本机 code 到您的本机项目中。每次升级插件后都要重新运行它。

导入

import { CapgoAlarm } from '@capgo/capacitor-alarm';

API 简要概述

方法 描述
createAlarm 使用平台时钟应用程序创建一个本机操作系统的闹钟。对于 Android,这使用闹钟意图;对于 iOS,如果可用(iOS 16+),则使用 AlarmKit。
openAlarms 打开平台的本机闹钟列表 UI,如果可用。
getOSInfo 获取有关操作系统和功能的信息。
requestPermissions 为闹钟使用请求相关权限。 在 Android 上,可能会将精确闹钟路由到设置。
checkPermissions 检查本地闹钟访问的当前权限状态,无需触发 UI。 在 iOS 上,这报告了 AlarmKit 可用性; 在 Android 上,它报告了功能性细节。
getAlarms 获取本应用程序安排的闹钟列表。 在 iOS 26+ 上,返回 AlarmKit 闹钟。 在 Android 上,这项功能不受支持,因为系统不提供 API 来查询闹钟。
cancelAlarm 取消一个已安排的闹钟,通过其 ID。 在 iOS 26+ 上,删除闹钟从 AlarmKit 中。 在 Android/web 上,返回“不支持”。

示例

createAlarm()

创建一个本机操作系统闹钟,使用平台时钟应用。 在 Android 上,这使用闹钟应用意图; 在 iOS 上,如果可用(iOS 16+),则使用 AlarmKit。

import { CapgoAlarm } from '@capgo/capacitor-alarm';

const result = await CapgoAlarm.createAlarm({
  hour: 7,
  minute: 30,
  label: 'Wake up',
  skipUi: false,
  vibrate: true
});
console.log('Alarm created:', result.success);

openAlarms()

打开平台的本机闹钟列表 UI,如果可用。

import { CapgoAlarm } from '@capgo/capacitor-alarm';

const result = await CapgoAlarm.openAlarms();
if (result.success) {
  console.log('Alarms UI opened');
}

getOSInfo()

获取有关操作系统和功能的信息。

import { CapgoAlarm } from '@capgo/capacitor-alarm';

const info = await CapgoAlarm.getOSInfo();
console.log('Platform:', info.platform);
console.log('Supports native alarms:', info.supportsNativeAlarms);
if (info.platform === 'android') {
  console.log('Can schedule exact alarms:', info.canScheduleExactAlarms);
}

requestPermissions()

为闹钟使用请求相关权限。 在 Android 上,可能会将精确闹钟路由到设置。

import { CapgoAlarm } from '@capgo/capacitor-alarm';

const result = await CapgoAlarm.requestPermissions({ exactAlarm: true });
if (result.granted) {
  console.log('Permissions granted');
} else {
  console.log('Permissions denied');
}

checkPermissions()

检查本地闹钟访问的当前权限状态,无需触发 UI。 在 iOS 上,这报告了 AlarmKit 可用性; 在 Android 上,它报告了功能性细节。

import { CapgoAlarm } from '@capgo/capacitor-alarm';

const status = await CapgoAlarm.checkPermissions();
console.log('AlarmKit allowed?', status.details?.alarmKit);

getAlarms()

获取本应用程序安排的闹钟列表。 在 iOS 26+ 上,返回 AlarmKit 闹钟。 在 Android 上,这项功能不受支持,因为系统不提供 API 来查询闹钟。

import { CapgoAlarm } from '@capgo/capacitor-alarm';

const { alarms } = await CapgoAlarm.getAlarms();
console.log('Scheduled alarms:', alarms);
alarms.forEach(alarm => {
  console.log(`Alarm ${alarm.id}: ${alarm.hour}:${alarm.minute} - ${alarm.label}`);
});

上表列出了 7 个核心方法。 监听器和版本帮助,以及每个方法的完整契约,均在文档中记录。 GitHub 仓库.

全局参考

继续使用 @capgo/capacitor-alarm

如果您正在使用 使用 @capgo/capacitor-alarm 来规划原生插件工作,连接它与 @capgo/capacitor-警报 以获取 @capgo/capacitor-alarm 的实现细节 开始使用 为 Getting Started 中的实现细节 Capgo 插件目录 为 Capgo 插件目录中的产品工作流程 Capacitor 由 Capgo 提供的插件 为 Capacitor 由 Capgo 提供的插件中的实现细节 添加或更新插件 为添加或更新插件中的实现细节

常见问题

Alarm 插件常见问题

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

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

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

是的。Alarm 是一个 Capacitor 包,因此它与任何运行在 Capacitor 内的 Web 框架兼容,包括 Ionic、React、Vue、Angular、Svelte 和普通 JavaScript。

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

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

是否@capgo/capacitor-alarm 免费且开源?

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

是否可以在不经过App Store审查的情况下更新code使用Alarm?

安装或升级插件会改变原生code,因此需要新建一个商店构建。之后,JavaScript、HTML和CSS调用插件的更改可以立即通过Capgo实时更新。

不必等待应用程序审查就可以将 Alarm 的更新推送给用户

一旦插件添加到您的商店构建中,Capgo 即刻推送您的 JavaScript、HTML 和 CSS 更改到用户中。

从 Capgo 开始