From 1da5ed04e79bb118e3e4ceb584936ba54053b03d Mon Sep 17 00:00:00 2001 From: yheng Date: Tue, 17 Dec 2019 13:47:11 +0800 Subject: [PATCH] Update docs --- docs/_posts/2019-12-02-Profile.md | 189 ++++++++++++++++++++++++++++-- 1 file changed, 181 insertions(+), 8 deletions(-) diff --git a/docs/_posts/2019-12-02-Profile.md b/docs/_posts/2019-12-02-Profile.md index 48ddb48c0..1d6c44078 100644 --- a/docs/_posts/2019-12-02-Profile.md +++ b/docs/_posts/2019-12-02-Profile.md @@ -35,6 +35,7 @@ title: 情景模式(Profile) - [0.5.5. ui](#055-ui) - [0.5.6. hw](#056-hw) - [0.5.7. io](#057-io) + - [0.5.8. data](#058-data) - [0.6. 全局变量](#06-全局变量) @@ -239,6 +240,15 @@ Thanox会提供一部分执行动作所需要的handle能力。例如ui,专门 | ----------- | -------- | ---- | ------------------------------------ | --------------------- | | killPackage | 杀死应用 | 包名 | killer.killPackage("com.tencent.mm") | Boolean(true/false) | +接口定义: + +```java +@HandlerName("killer") +interface IKiller { + boolean killPackage(String pkgName); +} +``` + 举例: ```json @@ -258,6 +268,25 @@ Thanox会提供一部分执行动作所需要的handle能力。例如ui,专门 | getFrontAppPackage | 获取当前前台应用包名 | 无 | 如下 | String(字符串) | | getFrontAppPackageComponent | 获取当前前台应用组件 | 无 | 如下 | ComponentName | +接口定义: + +```java +@HandlerName("activity") +interface IActivity { + boolean launchProcessForPackage(String pkgName); + + boolean launchActivity(Intent intent); + + boolean launchMainActivityForPackage(String pkgName); + + Intent getLaunchIntentForPackage(String pkgName); + + String getFrontAppPackage(); + + ComponentName getFrontAppPackageComponent(); +} +``` + 举例: ```json @@ -280,6 +309,18 @@ Thanox会提供一部分执行动作所需要的handle能力。例如ui,专门 | sleep | 休眠(锁屏) | 延迟的毫秒数 | 如下 | 无 | | wakeup | 唤醒 | 延迟的毫秒数 | 如下 | 无 | +接口定义: + +```java +@HandlerName("power") +interface IPower { + void sleep(long delay); + + void wakeup(long delay); +} + +``` + 举例: ```json @@ -303,6 +344,20 @@ Thanox会提供一部分执行动作所需要的handle能力。例如ui,专门 | hasTaskFromPackage | 应用是否有最近任务 | 包名 | 如下 | Boolean(true/false) | | clearBackgroundTasks | 调用thanox的任务清理功能,清理所有最近任务 | 无 | 如下 | 无 | +接口定义: + +```java +@HandlerName("task") +interface ITask { + void removeTasksForPackage(String pkgName); + + boolean hasTaskFromPackage(String pkgName); + + void clearBackgroundTasks(); +} + +``` + 举例: ```json @@ -320,14 +375,43 @@ Thanox会提供一部分执行动作所需要的handle能力。例如ui,专门 界面相关 -| 能力 | 含义 | 参数 | 举例 | 返回值 | -| ---------------------- | ---------------- | ------------------------------------------------ | ---- | ------ | -| showShortToast | 休眠(锁屏) | 延迟的毫秒数 | 如下 | 无 | -| showLongToast | 唤醒 | 延迟的毫秒数 | 如下 | 无 | -| showDialog | 显示对话框 | 标题文本,信息文本,确认按钮文本 | 如下 | 无 | -| showNotification | 显示通知 | 标题文本,信息文本 | 如下 | 无 | -| findAndClickViewByText | 点击某文字的视图 | 要点击视图的文本(默认在当前显示的页活动页查询) | 如下 | 无 | -| findAndClickViewByText | 点击某文字的视图 | 要点击视图的文本,所在活动组件 | 如下 | 无 | +| 能力 | 含义 | 参数 | 举例 | 返回值 | +| ---------------------- | ---------------- | -------------------------------------------------- | ---- | ------ | +| showShortToast | 休眠(锁屏) | 延迟的毫秒数 | 如下 | 无 | +| showLongToast | 唤醒 | 延迟的毫秒数 | 如下 | 无 | +| showDialog | 显示对话框 | 标题文本,信息文本,确认按钮文本 | 如下 | 无 | +| showNotification | 显示通知 | 标签(可用于取消通知)标题文本,信息文本,是否重要 | 如下 | 无 | +| cancelNotification | 取消通知 | 标签 | 如下 | | +| findAndClickViewByText | 点击某文字的视图 | 要点击视图的文本(默认在当前显示的页活动页查询) | 如下 | 无 | +| findAndClickViewByText | 点击某文字的视图 | 要点击视图的文本,所在活动组件 | 如下 | 无 | + +接口定义: + +```java +@HandlerName("ui") +interface IUI { + + void showShortToast(@NonNull String msg); + + void showLongToast(@NonNull String msg); + + void showDialog(@Nullable String title, + @NonNull String msg, + @Nullable String yes); + + void showNotification( + @NonNull String notificationTag, + @NonNull String title, + @NonNull String msg, + boolean important); + + void cancelNotification(@NonNull String notificationTag); + + void findAndClickViewByText(@NonNull String text); + + void findAndClickViewByText(@NonNull String text, @Nullable String componentNameShortString); +} +``` 举例: @@ -362,6 +446,38 @@ Thanox会提供一部分执行动作所需要的handle能力。例如ui,专门 | disableBT | 看名字 | 无 | 如下 | Boolean(true/false) | | isBTEnabled | 看名字 | 无 | 如下 | Boolean(true/false) | +接口定义: + +```java +@HandlerName("hw") +interface IHW { + boolean enableWifi(); + + boolean disableWifi(); + + boolean isWifiEnabled(); + + boolean enableLocation(); + + boolean disableLocation(); + + boolean isLocationEnabled(); + + boolean enableBT(); + + boolean disableBT(); + + boolean isBTEnabled(); + + boolean enableNfc(); + + boolean disableNfc(); + + boolean isNfcEnabled(); +} + +``` + 举例: ```json @@ -389,6 +505,63 @@ Thanox会提供一部分执行动作所需要的handle能力。例如ui,专门 +### 0.5.8. data + +移动数据相关能力。 + +| 能力 | 含义 | 参数 | 举例 | 返回值 | +| ------------------------------ | -------------------------------------- | --------------------------- | ---- | --------------------- | +| setDataEnabled | 看名字 | true打开,false关闭 | 如下 | Boolean(true/false) | +| setDataEnabled | 设置移动数据开启状态(可以指定卡序号) | 卡序号,true打开,false关闭 | 如下 | 无 | +| isDataEnabled | 获取移动数据开启状态 | true打开,false关闭 | 如下 | Boolean(true/false) | +| setDataNetworkType | 看名字 | 无 | 如下 | 无 | +| setDataNetworkTypeForPhone | 设置网络模式(指定某个卡) | 无 | 如下 | 无 | +| getCurrentPreferredNetworkMode | 看名字 | 无 | 如下 | int | +| getCurrentPreferredNetworkMode | 看名字 | 无 | 如下 | int | + +接口定义: + +```java +@HandlerName("data") +interface IData { + void setDataEnabled(boolean enable); + + void setDataEnabled(int subId, boolean enable); + + boolean isDataEnabled(); + + void setDataNetworkType(int type); + + void setDataNetworkTypeForPhone(int phoneId, int type); + + int getCurrentPreferredNetworkMode(); + + int getCurrentPreferredNetworkMode(int subId); +} + +``` + +举例: + +```json +[ + { + "name": "Enable Data", + "description": "打开微信时,打开移动数据", + "priority": 2, + "condition": "frontPkgChanged == true && to == \"com.tencent.mm\"", + "actions": [ + "ui.showShortToast(\"移动数据当前\" + (data.isDataEnabled() ? \"开启\" : \"关闭\"));", + "ui.showShortToast(\"正在打开移动数据...\");", + "data.setDataEnabled(true)" + ] + } +] +``` + + + + ## 0.6. 全局变量 全局变量:name-List,名字---字符串列表