Skip to content

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');

相关 ​