电容Android 有意发射装置插件
启动任意Android意图的电容插件.
特征
- 🚀 启动活动:通过自定义意图启动任何Android活动并读取其结果.
- 🔍 解决活动:检查某项活动能否在启动某项活动之前处理某项意图.
- 🎯 明确和隐含的意图:瞄准特定组件或让系统选择一个处理器.
- 📦 额外标记( F): 附加原始外加意向旗.
- 🤝 兼容性: 与 设置启动器 财务报告和审定财务报表 应用程序启动器 插件 .
- 🔁 最新数据:总是支持最新的Capacitor版本.
缺少一个功能? 刚刚 打开一个问题 我们看看!
使用大小写
Android Intental Launter插件一般在应用程序需要与系统屏幕或其他没有专用插件覆盖的应用程序互动时使用,例如:
- 打开系统屏幕: 打开Android系统屏幕,例如通过该屏幕的应用程序设置屏幕
android.settings.APPLICATION_DETAILS_SETTINGS行动. - 与其他应用程序整合:通过明确意图启动另一个应用的特定活动,完成后读取其结果代码和结果数据.
- 分享和编织:通过
android.intent.action.SEND动作或通过android.intent.action.SENDTO行动. - 特性检测: 检查是否存在在发射前可以处理意图的活动, 例如在您的 UI 中有条件显示按钮 .
兼容性
| 插件版本 | 电容版本 | 状态 |
|---|---|---|
| 0.x.x (中文(简体) ) | >=8.x.x | 积极支持 |
安装
你可以用我们的 AI 辅助设置 以安装插件. 添加数据 超级技能 至您的 AI 工具,使用以下命令:
npx skills add capawesome-team/skills --skill capacitor-plugins
然后使用下列提示:
Use the `capacitor-plugins` skill from `capawesome-team/skills` to install the `@capawesome/capacitor-android-intent-launcher` plugin in my project.
如果你喜欢 手动设置,通过运行以下命令来安装插件,并遵循下面的平台特定指令:
npm install @capawesome/capacitor-android-intent-launcher
npx cap sync
此插件仅可用于 机器人。在iOS和Web上,所有方法都否认未执行.
机器人
此插件不需要额外的配置 .
然而,在Android 11(API级别为30)和更高, 软件包可见度 限制您的应用程序所能看到的应用程序和意图 。 要启动或解决针对其他应用程序的意图,可能需要声明匹配 <queries> 应用程序中的条目 AndroidManifest.xml。见 软件包可见度 见下文.
iOS系统
此插件有 没有执行iOS意向是Android唯一的概念。 所有方法都拒绝在iOS上未执行.
配置
此插件不需要配置 .
使用量
以下例子说明如何为某种意图开始一项活动,并检查一项意图是否可以解决.
启动活动
为给定的意图发起活动. 意图是通过 startActivityForResult(...) API,所以发射活动的结果代码和结果数据一旦完成就会被返回. 仅在Android上可用:
import { AndroidIntentLauncher } from '@capawesome/capacitor-android-intent-launcher';
const startActivity = async () => {
const { resultCode } = await AndroidIntentLauncher.startActivity({
action: 'android.intent.action.VIEW',
dataUri: 'https://capawesome.io',
});
return resultCode;
};
检查是否可以解决意图
检查某项活动是否存在在发射前能够处理既定意图的活动 。 在Android 11(API 30等)及更高一等上,结果受到以下因素的影响: 软件包可见度。仅在Android上提供:
import { AndroidIntentLauncher } from '@capawesome/capacitor-android-intent-launcher';
const canResolveActivity = async () => {
const { canResolve } = await AndroidIntentLauncher.canResolveActivity({
action: 'android.intent.action.VIEW',
dataUri: 'https://capawesome.io',
});
return canResolve;
};
API 密码
可解析活性(...)
canResolveActivity(options: CanResolveActivityOptions) => Promise<CanResolveActivityResult>
检查是否存在可以处理指定意图的活动 .
这个是包装纸 PackageManager.resolveActivity(...) API (英语).
在Android 11(API 30等)及更高一等上,结果受到以下因素的影响:
软件包可见度。 您的应用程序可能需要声明匹配 <queries>
条目中 AndroidManifest.xml 打算解决.
只能从Android上找到.
| 参数 | 类型 |
|---|---|
options | StartActivityOptions |
回返情况: Promise<CanResolveActivityResult>
自: 0.1.0 (中文(简体) )
启动活动(...)
startActivity(options: StartActivityOptions) => Promise<StartActivityResult>
为给定的意图发起活动.
意图是通过 startActivityForResult(...) API是这样
发射活动的结果代码和结果数据一旦返回
结束.
这是系统屏幕和应用程序的动力用户逃生舱门 没有专用插件覆盖的集成。 优先选择一个打入的插件( 如 作为 设置启动器 或者说 应用程序启动器(中文(简体) ) 如果有的话.
只能从Android上找到.
| 参数 | 类型 |
|---|---|
options | StartActivityOptions |
回返情况: Promise<StartActivityResult>
自: 0.1.0 (中文(简体) )
接口
可溶解活性效应
| Prop | 类型 | 说明 | 自兹 |
|---|---|---|---|
canResolve | boolean | 是否存在能够处理意图的活动. | 0.1.0 (中文(简体) ) |
启动活动选项
| Prop | 类型 | 说明 | 自兹 |
|---|---|---|---|
action | string | 意图的行为. | 0.1.0 (中文(简体) ) |
categories | string[] | 意所加之类. | 0.1.0 (中文(简体) ) |
className | string | 要发射部件的完全合格类名. 必须与 packageName 属性以创建针对特定组成部分的明确意图. | 0.1.0 (中文(简体) ) |
dataUri | string | 意图的数据 URI. | 0.1.0 (中文(简体) ) |
extras | { [key: string]: string | number | boolean; } | 外加以加意为用. 仅支持原始值(字符串,数字和布尔). | 0.1.0 (中文(简体) ) |
flags | number | 以所加之意为旗. 多条旗可以使用位元OR运算符合并. | 0.1.0 (中文(简体) ) |
packageName | string | 要发射组件的包名 。 如果使用时没有 className 属性,其意图仅限于给定的软件包。 如果与 className 属性,创建了针对特定组成部分的明确意图. | 0.1.0 (中文(简体) ) |
type | string | 意向数据的MIME类型. | 0.1.0 (中文(简体) ) |
启动活动效果
| Prop | 类型 | 说明 | 自兹 |
|---|---|---|---|
dataUri | string | null | 发射活动返回的数据URI. | 0.1.0 (中文(简体) ) |
resultCode | number | 发射活动返回的结果代码 。 值为 -1 如果活动成功完成( e)RESULT_OK, (中文(简体) ), 0 如果它被取消 (RESULT_CANCELED)或发射活动所设定的任何其他自定义结果代码. | 0.1.0 (中文(简体) ) |
类型异名
可解析活动选项
常见意图
下表列出一些让你开始的常见意图. 见 Android 文档 用于行动、类别、额外活动和旗帜的完整清单.
| 使用大小写 | action | dataUri | type | extras |
|---|---|---|---|---|
| 打开网站 | android.intent.action.VIEW | https://capawesome.io | – 说吧 – | – 说吧 – |
| 打开拨号器 | android.intent.action.DIAL | tel:+12025550123 | – 说吧 – | – 说吧 – |
| 撰写邮件 | android.intent.action.SENDTO | mailto:[email protected] | – 说吧 – | { 'android.intent.extra.SUBJECT': 'Hi' } |
| 共享纯文本 | android.intent.action.SEND | – 说吧 – | text/plain | { 'android.intent.extra.TEXT': 'Hello world!' } |
| 打开应用程序设置 | android.settings.APPLICATION_DETAILS_SETTINGS | package:com.example.app | – 说吧 – | – 说吧 – |
此插件意在作为 最后办法 用于没有专用插件覆盖的系统屏幕和应用程序集成。 在有输入插件的地方优先使用该插件——例如 设置启动器 用于系统设置屏幕或 应用程序启动器 用于打开 URL 和其他应用程序.
软件包可见度
在Android 11(API 级别为30)及更高, 软件包可见度 限制其它应用程序与您的应用程序互动。 这对双方都有影响 startActivity(...) (用错误代码拒绝无法解决的意图) ACTIVITY_NOT_FOUND和 canResolveActivity(...) (返回时) false 您的应用程序无法看到意图.
如果您启动或解决针对其他应用程序的意向, 请在应用程序中声明询问意向 AndroidManifest.xml。插件不能代表您预先声明任意意图.
<manifest xmlns:android="http://schemas.android.com/apk/res/android">
<queries>
<intent>
<action android:name="android.intent.action.VIEW" />
<data android:scheme="https" />
</intent>
</queries>
</manifest>
财务问题
此插件与其他类似插件有何不同?
它会发射任意的Android意图——明示或暗示——这样即使没有专用插件覆盖,你也可以打开系统屏幕或交给其他应用程序,并读取活动结果回. 您可以附加原始外加和意向旗, 并确定某项活动是否能够在启动前处理某项意向, 全部通过完全输入的 API 保持最新 Capacitor 版本的当前 。 当针对您的目标已经存在有焦点的插件,例如Sets Launter或App Launter,这是一个精细的选择;当您需要完全控制原始意图时,这个插件就是为此而建的.
为什么 startActivity 以错误代码拒绝 ACTIVITY_NOT_FOUND? 吗?
当不存在能够处理指定意图的活动时,就会发生这种情况。 在Android 11(API 30等)和更高一等上,也可能由: 软件包可见度,它限制了其它应用程序可以看到的应用程序。 这样的话,请在应用程序中声明您询问的意图 AndroidManifest.xml 使用 <queries> 条目.
此插件在 iOS 或 Web 上工作吗 ?
不,意图是Android唯一的概念,所以这个插件没有iOS或Web执行. 在iOS和Web上,所有方法都拒绝作为未执行.
我应该什么时候使用这个插件而不是专用插件?
这个插件是作为系统屏幕和应用程序集成的最后手段,没有专门的插件覆盖. 优先选择一个有输入的插件, 例如 设置启动器 用于系统设置屏幕或 应用程序启动器 用于打开 URL 和其他应用程序.
我可以通过复杂的数据 作为意向附加?
不, 仅支持原始值( 字符串、 数字和布尔值) 作为意图外加值 。 意向旗也可以被附着,多面旗可以使用比特OR运算符合并.
我怎么知道启动的活动是否成功?
这个 startActivity(...) 方法在活动完成后通过返回的结果代码解决。 值为 -1 如果活动成功完成( e)RESULT_OK, (中文(简体) ), 0 如果它被取消 (RESULT_CANCELED),或启动的活动所设定的任何其他自定义结果代码.
我能用这个插件吗? 有Ionic、React、Vue或Angular?
是的,插件是框架不可知的。 它在任意网络框架的Capacitor app中工作,包括有Angular,React,或Vue的Ionic,以及平版JavaScript等项目.
相关插件
通讯
随时更新有关卡帕韦索姆、Capacitor和Ionic生态系统的最新消息和最新消息,因为我们 《卡帕索克通讯》。 。 。 .
更改日志
见 变动情况。 。 。 .
许可证
见 自由主义。 。 。 .