App
App 管「哪个应用」:打开、查是否安装、读版本、进设置页。当前脚本所在 App 的包名和版本也从这里读。点界面上的按钮用 UiSelector,不要用 App 去找节点。
javascript
if (App.isAppInstalled('com.android.deeke.script.pro')) {
App.launch('com.android.deeke.script.pro');
}| 方法 | 作用 |
|---|---|
currentPackageName() | 当前脚本所在 App 的包名 |
currentVersionCode() / currentVersionName() | 当前 App 版本 |
packageInfo(packageName) | 指定包的包信息 |
getAppVersionCode(packageName) / getAppVersionName(packageName) | 指定包的版本 |
isAppInstalled(packageName) | 是否已安装 |
launch(packageName) | 按包名打开 |
gotoIntent(uri) | 按 URI 打开 Activity |
openUrl(url, packageName?) | 用浏览器或指定 App 打开链接 |
openAppSetting(packageName) | 打开应用设置页 |
backApp() | 回到执行脚本的 App |
notifySuccess(title, content) | 成功通知 |
startActivity(intent) | 按 Intent 启动(尚未上线) |
currentPackageName()
返回: {string} 当前脚本所在 App 的包名
在 Pro 里执行时,一般是 com.android.deeke.script.pro。
javascript
console.log(App.currentPackageName());currentVersionCode()
返回: {number} 当前 App 的版本号
做自更新、判断要不要升级时用。
currentVersionName()
返回: {string} 当前 App 的版本名称
packageInfo(packageName)
参数:
packageName {string}包名
返回: {PackageInfo} 包信息,至少含 versionCode、versionName
javascript
let packageInfo = App.packageInfo('com.android.deeke.script.pro');
console.log(packageInfo.versionCode);
console.log(packageInfo.versionName);gotoIntent(uri)
参数:
uri {string}要打开的 URI
返回: {void}
按 URI 拉起对应 Activity,例如打开某 App 的用户主页。
javascript
App.gotoIntent('snssdk1128://user/profile/' + user_id);backApp()
返回: {void}
从其它应用回到正在执行脚本的 App。
javascript
App.backApp();launch(packageName)
参数:
packageName {string}包名
返回: {void}
按包名打开应用。未安装时打不开。
javascript
App.launch('com.android.deeke.script.pro');isAppInstalled(packageName)
参数:
packageName {string}包名
返回: {boolean} 已安装为 true
javascript
let isInstalled = App.isAppInstalled('com.android.deeke.script.pro');getAppVersionCode(packageName)
参数:
packageName {string}包名
返回: 指定应用的版本号
javascript
let version = App.getAppVersionCode('com.android.deeke.script.pro');getAppVersionName(packageName)
参数:
packageName {string}包名
返回: 指定应用的版本名称
javascript
let versionName = App.getAppVersionName('com.android.deeke.script.pro');openAppSetting(packageName)
参数:
packageName {string}包名
返回: {void}
打开该应用的系统设置页(权限、通知等)。
startActivity(intent)
尚未上线。
参数:
intent {Intent}Android Intent
返回: {void}
javascript
let intent = new Intent(Intent.ACTION_VIEW, Uri.parse('myapp://second_activity'));
startActivity(intent);notifySuccess(title, content)
参数:
title {string}标题content {string}正文
返回: {void}
弹出一条成功通知。
javascript
App.notifySuccess('操作成功', '任务已完成');openUrl(url, packageName)
参数:
url {string}链接packageName {string}可选。指定用哪个应用打开
返回: {void}
不传 packageName 时用浏览器。传了则优先用该应用;未安装则回退到浏览器。
javascript
App.openUrl('https://www.baidu.com');
App.openUrl('https://www.douyin.com/user/xxx', 'com.ss.android.ugc.aweme');相关
- 支付宝 Alipay — App 支付串调起收银台
- 系统函数 System
- 设备 Device
