@ capgo/ 电容- intent- 发射器
从您的 Capacitor app 启动 Android 意向和打开系统设置屏幕,并打开 iOS 设置页面. 直接发送用户到需要更改的设置 .
🤖 建筑与AI编码代理? 安装 Capgo 技能 所以克劳德代码,代码,光标,副驾驶,或双子座CLI知道如何安装和使用
@capgo/capacitor-intent-launcher在您的电容应用程序中:npx skills add Cap-go/capgo-skills。然后问你的经纪人: 添加@capgo/capor-intent-launder到我的Capacitor应用上并把它接上" 代理设置指南 • 妇女 主机磁共振
主要特点
- 机器人意图数字 :
startActivityAsync()以动作、数据、额外和旗帜启动任何活动,并返回结果. - iOS 设置数字 :
openIOSSettings()打开设置屏幕. - 打开应用程序数字 :
openApplication()在Android上发射另一个软件包名称的应用程序. - 应用程序图标数字 :
getApplicationIconAsync()返回一个已安装的应用程序图标作为Android上的基数64. - 平台: iOS和Android. 互联网档案馆的存檔,存档日期2013-12-21. 在网上不可用.
为什么是电磁发射装置?
很简单, 免费,以及 轻型 android 和 iOS 的意向发布器插件 :
- 系统设置访问 - 打开任何Android设置屏幕(WiFi、蓝牙、位置等)或iOS设置屏幕
- iOS 设置支持 - 打开iOS设置屏幕,包括应用程序设置、WiFi、蓝牙、通知等
- 应用启动 - 按软件包名称打开任何已安装的应用程序(Android)
- 应用图标检索 - 将应用程序图标作为基础64编码图像(Android)
- 充分意图支持 - 通过额外文件、旗帜、数据URI和MIME类型(Android)
- 活动成果 - 接收发射活动的结果代码和数据(Android)
- 零依赖关系 - 最小的脚印,没有出血
对于需要引导用户在两个平台上进行系统设置的应用程序来说是完美的.
文档
兼容性
| 插件版本 | 电容兼容性 | 维护 |
|---|---|---|
| 联合国 | 联合国 | ✅ |
| 页:1 | 页:1 | 应要求 |
| 页:1 | 页:1 | ❌ |
| 页:1 | 页:1 | ❌ |
说明: 此插件的主要版本沿用了Capacitor的主要版本. 使用匹配您的 Capacitor 安装的版本( 如 Capacitor 8 的插件 v8) 。 只有最新的主要版本得到积极维护.
安装
您可以使用我们的 AI 辅助设置安装插件 。 使用以下命令将 Capgo 技能添加到您的 AI 工具 :
npx skills add https://github.com/cap-go/capacitor-skills --skill capacitor-plugins
然后使用下列提示:
Use the `capacitor-plugins` skill from `cap-go/capacitor-skills` to install the `@capgo/capacitor-intent-launcher` plugin in my project.
如果您更喜欢手动设置,请通过运行以下命令来安装插件,并遵循下面的平台特定指令:
npm install @capgo/capacitor-intent-launcher
npx cap sync
机器人
工作在盒子内。 不需要额外的配置 .
打开 Android 设置屏幕
该插件提供通过Android系统设置屏幕的访问权限 ActivityAction um. 以下是常见的例子:
import { IntentLauncher, ActivityAction } from '@capgo/capacitor-intent-launcher';
// Open main settings screen
await IntentLauncher.startActivityAsync({
action: ActivityAction.SETTINGS
});
// Open WiFi settings
await IntentLauncher.startActivityAsync({
action: ActivityAction.WIFI_SETTINGS
});
// Open Bluetooth settings
await IntentLauncher.startActivityAsync({
action: ActivityAction.BLUETOOTH_SETTINGS
});
// Open Location settings
await IntentLauncher.startActivityAsync({
action: ActivityAction.LOCATION_SOURCE_SETTINGS
});
// Open Display settings
await IntentLauncher.startActivityAsync({
action: ActivityAction.DISPLAY_SETTINGS
});
// Open Sound settings
await IntentLauncher.startActivityAsync({
action: ActivityAction.SOUND_SETTINGS
});
// Open Notification settings
await IntentLauncher.startActivityAsync({
action: ActivityAction.NOTIFICATION_SETTINGS
});
打开 App- Special 设置
您可以通过传递软件包名称来打开特定应用程序的设置 :
// Open your app's settings page
await IntentLauncher.startActivityAsync({
action: ActivityAction.APPLICATION_DETAILS_SETTINGS,
data: 'package:com.yourapp.package'
});
// Open notification settings for your app
await IntentLauncher.startActivityAsync({
action: ActivityAction.APP_NOTIFICATION_SETTINGS,
extra: {
'android.provider.extra.APP_PACKAGE': 'com.yourapp.package'
}
});
启动其他应用程序
// Open an app by package name
await IntentLauncher.openApplication({
packageName: 'com.google.android.gm' // Gmail
});
// Get an app's icon
const { icon } = await IntentLauncher.getApplicationIconAsync({
packageName: 'com.google.android.gm'
});
// icon is a base64-encoded PNG: 'data:image/png;base64,...'
高级意向选项
您可以通过额外选项、 旗帜和 MIME 类型 :
// Open a content picker
await IntentLauncher.startActivityAsync({
action: ActivityAction.GET_CONTENT,
type: 'image/*', // MIME type
category: 'android.intent.category.OPENABLE'
});
// Open a URL in the browser
await IntentLauncher.startActivityAsync({
action: ActivityAction.VIEW,
data: 'https://example.com'
});
// Send text to another app
await IntentLauncher.startActivityAsync({
action: ActivityAction.SEND,
type: 'text/plain',
extra: {
'android.intent.extra.TEXT': 'Hello World!'
}
});
// Make a phone call (requires CALL_PHONE permission)
await IntentLauncher.startActivityAsync({
action: ActivityAction.CALL,
data: 'tel:+1234567890'
});
// Open the dialer with a number (no permission required)
await IntentLauncher.startActivityAsync({
action: ActivityAction.DIAL,
data: 'tel:+1234567890'
});
处理活动结果
这个 startActivityAsync 方法返回带有状态信息的结果 :
const result = await IntentLauncher.startActivityAsync({
action: ActivityAction.LOCATION_SOURCE_SETTINGS
});
console.log('Result code:', result.resultCode);
// resultCode: -1 = Success, 0 = Canceled, 1+ = Custom user codes
if (result.data) {
console.log('Data URI:', result.data);
}
if (result.extra) {
console.log('Extra data:', result.extra);
}
常用案例
引导用户启用权限 :
// Location permission
await IntentLauncher.startActivityAsync({
action: ActivityAction.LOCATION_SOURCE_SETTINGS
});
// Battery optimization settings
await IntentLauncher.startActivityAsync({
action: ActivityAction.IGNORE_BATTERY_OPTIMIZATION_SETTINGS
});
// Overlay permission (draw over other apps)
await IntentLauncher.startActivityAsync({
action: ActivityAction.MANAGE_OVERLAY_PERMISSION,
data: 'package:com.yourapp.package'
});
网络设置 :
// WiFi settings
await IntentLauncher.startActivityAsync({
action: ActivityAction.WIFI_SETTINGS
});
// Mobile data settings
await IntentLauncher.startActivityAsync({
action: ActivityAction.DATA_USAGE_SETTINGS
});
// Airplane mode settings
await IntentLauncher.startActivityAsync({
action: ActivityAction.AIRPLANE_MODE_SETTINGS
});
安全设置 :
// Biometric enrollment
await IntentLauncher.startActivityAsync({
action: ActivityAction.BIOMETRIC_ENROLL
});
// Fingerprint settings
await IntentLauncher.startActivityAsync({
action: ActivityAction.FINGERPRINT_SETTINGS
});
// Security settings
await IntentLauncher.startActivityAsync({
action: ActivityAction.SECURITY_SETTINGS
});
Android 版本兼容性
一些设置动作只在特定的Android版本上可用. 插件中包含平台版本信息 ActivityAction enum评论(例如:, @platform Android 12+) (中文(简体) ). 如果使用设备的Android版本上不可用的动作,意图可能会失败或倒回一般设置屏幕.
处理错误
总是在试捕区块中包裹意图呼叫 :
try {
await IntentLauncher.startActivityAsync({
action: ActivityAction.WIFI_SETTINGS
});
} catch (error) {
console.error('Failed to open settings:', error);
// Handle error - e.g., show a message to the user
}
iOS系统
工作在盒子内。 使用 openIOSSettings() 打开 iOS 设置屏幕的方法.
重要内容: 苹果公司官方支持的唯一选项是 IOSSettings.App 打开您的应用程序设置页面。 其他选项使用无记录的 URL 方案( E)App-prefs:),可能在未来的iOS版本中被打破,或可能导致App Store拒绝.
说明: IOS模拟器有时只会打开"设置"应用程序,而不是指定的选项. 在真实设备上测试准确的行为.
import { IntentLauncher, IOSSettings } from '@capgo/capacitor-intent-launcher';
// Open app settings (officially supported by Apple)
await IntentLauncher.openIOSSettings({ option: IOSSettings.App });
// Open WiFi settings (may not work in all iOS versions)
await IntentLauncher.openIOSSettings({ option: IOSSettings.WiFi });
网页
不获支持。 此插件使用本地平台 API.
API 密码
startActivityAsync(...)openIOSSettings(...)openApplication(...)getApplicationIconAsync(...)getPluginVersion()- 接口
- 类型异名
- 数字
用于在Android和iOS上发射Android意图和打开系统设置的Capacitor Intental Launter插件.
启动 Activity Async (...)
startActivityAsync(options: IntentLauncherParams) => Promise<IntentLauncherResult>
为给定动作启动Android活性.
| 参数 | 类型 | 说明 |
|---|---|---|
options | IntentLauncherParams | - 意图发射选项,包括行动和可选参数 |
回返情况: Promise<IntentLauncherResult>
自: 1.0.0 (单位:千美元)
打开(...)
openIOSSettings(options: IOSSettingsParams) => Promise<IOSSettingsResult>
打开iOS设置屏幕.
说明: 苹果公司官方支持的唯一选项是 App 打开您的应用程序设置页面.
其他选项可能可行,但得不到保证,并且可能在未来的iOS版本中被打破或导致App Store拒绝.
也注意到iOS模拟器有时只会打开"设置"应用程序, 而不是指定的选项.
| 参数 | 类型 | 说明 |
|---|---|---|
options | IOSSettingsParams | - 要打开的iOS 设置选项 |
回返情况: Promise<IOSSettingsResult>
自: 8.2.0 (中文(简体) )
打开应用程序(...)
openApplication(options: OpenApplicationOptions) => Promise<void>
以软件包名称打开应用程序.
| 参数 | 类型 | 说明 |
|---|---|---|
options | OpenApplicationOptions | - 要打开的应用程序包名 |
自: 1.0.0 (单位:千美元)
获取应用IconAsync (...)
getApplicationIconAsync(options: GetApplicationIconOptions) => Promise<GetApplicationIconResult>
获得应用程序图标作为基础64-编码的PNG字符串.
| 参数 | 类型 | 说明 |
|---|---|---|
options | GetApplicationIconOptions | - 应用程序的软件包名称 |
回返情况: Promise<GetApplicationIconResult>
自: 1.0.0 (单位:千美元)
获取 PluginVersion ()
getPluginVersion() => Promise<{ version: string; }>
获取本地 Capacitor 插件版本 .
回返情况: Promise<{ version: string; }>
自: 1.0.0 (单位:千美元)
接口
意向劳恩彻
启动某项活动的结果.
| Prop | 类型 | 说明 | 自兹 |
|---|---|---|---|
resultCode | ResultCode | 活动返回的结果代码 . | 1.0.0 (单位:千美元) |
data | string | 活动返回的可选数据 URI . | 1.0.0 (单位:千美元) |
extra | Record<string, unknown> | 活动返回的可选额外数据 . | 1.0.0 (单位:千美元) |
有意劳恩彻帕拉姆斯
启动活动的选项 .
| Prop | 类型 | 说明 | 自兹 |
|---|---|---|---|
action | string | 行动 使用来自 ActivityAction um. | 1.0.0 (单位:千美元) |
category | string | 可选类别来增加意图. | 1.0.0 (单位:千美元) |
className | string | 要发射组件的可选类名 . | 1.0.0 (单位:千美元) |
data | string | 意图的可选URI数据. 必须是有效的 URI . | 1.0.0 (单位:千美元) |
extra | Record<string, unknown> | 可选的额外数据传递给意图作为键值对. | 1.0.0 (单位:千美元) |
flags | number | 可选的意向旗作为位图. | 1.0.0 (单位:千美元) |
packageName | string | 组件的可选软件包名称 . | 1.0.0 (单位:千美元) |
type | string | 意图数据可选 MIME 类型 . | 1.0.0 (单位:千美元) |
IOSSSettings 成果
由打开iOS设置而来.
| Prop | 类型 | 说明 | 自兹 |
|---|---|---|---|
success | boolean | 设置屏幕是否成功打开 . | 8.2.0 (中文(简体) ) |
IOSSettings 帕拉姆斯
打开iOS设置的选项 .
| Prop | 类型 | 说明 | 自兹 |
|---|---|---|---|
option | string | 要打开的 iOS 设置屏幕 。 使用来自 IOSSettings um. | 8.2.0 (中文(简体) ) |
打开应用程序选项
打开应用程序的选项 .
| Prop | 类型 | 说明 | 自兹 |
|---|---|---|---|
packageName | string | 要打开的应用程序包名 . | 1.0.0 (单位:千美元) |
获取应用程序
获得应用程序图标的结果 .
| Prop | 类型 | 说明 | 自兹 |
|---|---|---|---|
icon | string | 应用程序图标作为基础64-编码的PNG字符串前缀有"data:image/png;base64,". 如果图标不可用, 则空字符串 . | 1.0.0 (单位:千美元) |
获取应用程序选择
获取应用程序图标的选项 .
| Prop | 类型 | 说明 | 自兹 |
|---|---|---|---|
packageName | string | 应用程序的软件包名称 . | 1.0.0 (单位:千美元) |
类型异名
记录
构造 T 类型 K 的一组属性类型
{
[P in K]: T;
}
数字
结果代码
| 成员 | 数值 | 说明 |
|---|---|---|
Success | -1 | 活动圆满完成. |
Canceled | 0 | 活动被用户取消. |
FirstUser | 1 | 第一个自定义用户定义的结果代码 . |
信贷
基于( Expo 插件) [https://docs.expo.dev/versions/latest/sdk/intent-launder/ 互联网档案馆的存檔,存档日期2013-12-21[ . ]