应用工具使用指导
应用工具把「对应用或系统做一个动作」的常用小功能放在一起:跳应用市场、检测和打开其它 App、打开链接、 打开设置页、读写剪贴板、在桌面添加快捷方式、返回桌面、彻底退出应用, 还能读本应用的版本名、安装来源,判断是不是第一次运行。一个屏幕拖一个就够用。
案例一:引导好评
包名留空表示本应用(应用要先在应用市场上架):
when 按钮_好评.Click() {
应用工具1.OpenAppMarket("")
}
案例二:打开微信,没装就提示
when 按钮_微信.Click() {
if 应用工具1.IsAppInstalled("com.tencent.mm") {
应用工具1.OpenApp("com.tencent.mm")
} else {
对话框1.ShowAlert("请先安装微信")
}
}
剪贴板
- 剪贴板是全手机共用的:复制文本(文本)(
Copy)的内容其它 App 能粘贴,反过来也一样; - 复制不弹任何提示,需要反馈时自己弹提示或改标签;
- 粘贴文本(
Paste)时剪贴板为空或内容不是文字(如图片)返回空文本; - 系统出于隐私限制,App 只有在前台时才能读剪贴板,也不能在后台监听剪贴板变化。
案例三:一键复制邀请码并提示
when 按钮_复制邀请码.Click() {
应用工具1.Copy(标签_邀请码.Text)
对话框1.ShowAlert("邀请码已复制,去微信粘贴给好友吧")
}
案例四:一键粘贴到输入框
when 按钮_粘贴单号.Click() {
if 应用工具1.Paste() == "" {
对话框1.ShowAlert("剪贴板里没有文字")
} else {
文本输入框_单号.Text = 应用工具1.Paste()
}
}
案例五:打开 App 时识别复制的口令
用户在别处复制了「fun123口令:ABCD」这样的文字,打开 App 后自动识别并填入。 读剪贴板要等 App 完全显示后再读,所以用计时器延后 500 毫秒(计时器间隔 500,一开始启用):
when 计时器1.Timer() {
计时器1.TimerEnabled = false
if textContains(应用工具1.Paste(), "fun123口令:") {
文本输入框_口令.Text = replace(应用工具1.Paste(), "fun123口令:", "")
应用工具1.Copy("")
}
}
识别后把剪贴板清空(复制空文本),避免下次打开重复识别。
桌面快捷方式
- 创建快捷方式(名称,图标)(
CreateShortcut)(名称, 图标) 向系统申请在桌面添加一个打开本应用的图标; - 安卓 8.0 及以上由系统弹出确认框,用户点「添加」才会真的出现在桌面;
- 方法有返回值:真 只表示系统接受了申请;假 表示当前桌面或系统版本不支持,或申请无法启动;鸿蒙异步申请失败时读取屏幕的「发生错误时」事件。 所以要接在「如果」判断或赋值里用,不能单独放一行;
- 图标用素材文件名,留空(
"")使用 App 自己的图标;图标读不出来时也会自动改用 App 图标。
案例六:第一次使用时询问一次
用微数据库记住已经问过:
when Screen1.Initialize() {
if not 微数据库1.GetValue("问过快捷方式", false) {
对话框1.ShowChooseDialog("把本应用添加到桌面,下次一点就开?", "添加到桌面", "添加", "不用了", false)
微数据库1.StoreValue("问过快捷方式", true)
}
}
when 对话框1.AfterChoosing(选择值) {
if 选择值 == "添加" {
if 应用工具1.CreateShortcut("我的记账本", "") {
标签1.Text = "请在弹出的窗口里点「添加」"
} else {
标签1.Text = "当前桌面不支持添加快捷方式"
}
}
}
首次启动
是否首次运行(IsFirstRun)第一次调用返回真并记下标记,之后都返回假;
调试时用重置首次运行(ResetFirstRun)恢复。
案例七:首次打开弹欢迎语,并显示版本号
when Screen1.Initialize() {
标签_版本.Text = join("版本 ", 应用工具1.GetVersionName())
if 应用工具1.IsFirstRun() {
对话框1.ShowAlert("欢迎使用!首次打开有新手引导")
}
}
常见问题
| 现象 | 原因与处理 |
|---|---|
| 打开应用市场没反应 | 应用还没上架,详情页不存在;安卓没有应用商店时会打开网页版 |
| 是否已安装总是假 | 包名写错;鸿蒙上包名与安卓不同(微信是 com.tencent.wechat),且需系统 API 14 及以上 |
| 粘贴返回空文本 | 剪贴板里没有文字;刚打开 App 立刻读取时 App 还没到前台,稍后再读 |
| 部分手机弹出「已读取剪贴板」提示 | 安卓 12 起系统会提示 App 读取了剪贴板,属正常现象;不需要时少读 |
| 版本名一直是 1.0 | 版本名取自工程「应用版本名」属性,发布前记得在屏幕属性里设置 |
| 安装来源是 sideloaded | 应用不是从商店装的,直接装的 APK 就是这个值 |
| 是否首次运行一直是假 | 第一次调用即记录标记;调试时用重置首次运行恢复 |
| 打开网络设置进了总设置页 | 该厂商系统不提供独立的网络设置页,已自动退回总设置 |
| 创建快捷方式返回真但桌面没出现 | 用户在系统确认框里没点「添加」;部分手机需要在应用权限里允许「创建桌面快捷方式」 |
平台说明
- 安卓:全部支持;快捷方式 8.0 及以上由系统弹确认框。
- 鸿蒙:桌面快捷方式需要系统 5.0.2(API 14)及以上,通过系统申请并由用户确认;返回真只表示开始申请,系统拒绝、重复添加或用户取消会通过屏幕的「发生错误时」反馈原因;其余积木写法相同。
完整 .aia 源码与操作指导
导入 AppToolsAllFeatures.aia,连接伴侣,或编译安装测试。首次运行标记、应用图标、版本与安装来源按当前运行包读取;在伴侣中读到的是伴侣信息,快捷方式打开伴侣。测试自己的应用信息及退出操作请安装独立包。
覆盖 17/17 方法。归档、正式编辑器(首次导入/保存重开 0 错误)、后台导入、安装包编译通过;本轮未进行真机/伴侣及桌面确认实测。
| 方法 | 操作 | 预期结果与条件 |
|---|---|---|
| 获取版本名/获取安装程序(GetVersionName / GetInstaller) | 查看应用信息 | 独立包版本为 1.2.3,安装来源显示实际渠道;系统无法提供时显示组件返回值 |
| 是否首次运行(IsFirstRun) | 查看应用信息两次 | 首次查询为真,其后为假;查询本身记录已经使用 |
| 重置首次运行(ResetFirstRun) | 点重置首次运行 | 清除标记并重新查询,显示真;再查看变为假 |
| 复制文本/粘贴文本(Copy / Paste) | 复制默认文字,再点读取 | 显示“大学排名应用:收藏我的大学”;也可到其他应用粘贴核对 |
| 创建快捷方式(CreateShortcut) | 填名称,图标留空,点申请 | 使用当前包图标开始桌面申请,仍需用户确认;返回假或异步失败显示原因。鸿蒙需 API 14+;重复添加可能被系统拒绝 |
| 是否已安装(IsAppInstalled) | 包名留空点检查 | 检查当前包;填其他包名检查另一应用,鸿蒙 API 14+ 才能查询 |
| 打开应用(OpenApp) | 包名留空/填已安装包名 | 启动对应应用;未安装或系统拒绝时显示错误 |
| 打开应用市场(OpenAppMarket) | 填已上架的真实包名 | 进入商店详情;直装测试包可能没有商店页面 |
| 打开链接(OpenLink) | 默认网页地址,或填写实际链接 | 用系统应用打开网页;空输入在本页提示填写 |
| 打开应用设置页(OpenAppSettings) | 点本应用设置 | 进入当前运行包的设置,用返回键回来 |
| 打开通知设置页(OpenNotificationSettings) | 点通知设置 | 进入通知设置;低版本鸿蒙退回应用设置 |
| 打开系统设置/打开网络设置(SystemSettings / WirelessSettings) | 点系统设置/网络设置 | 进入对应系统页面,用返回键回来 |
| 回首页(返回桌面)(GoHome) | 返回桌面,先点取消再重试并继续 | 取消不离开,继续把当前应用放到后台;点应用图标恢复 |
| 退出当前应用(Shutdown) | 独立包中退出测试应用,先取消再继续 | 取消不退出,继续结束当前应用;不会关闭手机电源 |
所有系统错误由屏幕 ErrorOccurred 展示函数名、错误码与原因;PermissionDenied 展示权限名称。真实服务是否允许安装查询、商店跳转和固定快捷方式由手机系统决定。
应用工具
导入方法:项目 → 导入项目(.aia)→ 选择下载的 .aia 源码文件。
完整覆盖 17/17 方法。先用无需账号的应用信息与剪贴板,再测试系统操作;每个返回结果都有界面反馈,失败由底部错误区显示。
| 操作 | 预期结果 |
|—|—|
| 点查看信息,再点一次 | 显示版本和安装来源;首次运行查询由真变假 |
| 点重置首次运行 | 重置后首次查询为真,之后为假 |
| 复制默认文本,再读取剪贴板 | 显示相同文字,可去其他应用粘贴核对 |
| 图标留空,申请桌面快捷方式 | 用应用图标申请,仍需系统确认;鸿蒙需 API 14+,失败显示具体原因 |
| 包名留空,检查安装/打开应用 | 操作当前运行包;填真实包名可测试其他应用 |
| 打开市场/默认网页/各设置页 | 系统跳转;市场测试需要一个真实已上架的包名 |
| 返回桌面/退出测试应用 | 先弹确认框,取消不离开,继续才执行 |
在伴侣中,应用信息和桌面图标属于伴侣。要验证自己应用的版本、图标、首次运行标记或退出过程,请编译独立安装包;示例版本名为 1.2.3。退出测试应用不会关闭手机电源。
扫码添加客服咨询