> For the complete documentation index, see [llms.txt](https://sealt.gitbook.io/fooview/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://sealt.gitbook.io/fooview/zi-ding-yi-ren-wu-wen-dang/ming-ling-zhi-chi-ku.md).

# 命令支持库

## 贡献者名单

| 署名    | 贡献   |
| ----- | ---- |
| Sealt | 10+  |
| 深蓝刻度  | 200+ |

## Pull request 须知

建议参照以下格式编写支持库文档

* 第1行`命令调用`声明`返回值`、`命令名称`、`支持库`、`Root`(无则不显示)
* 第2行声明`命令所实现的功能`
* 第3+行声明`参数名称`及`参数解释`
* 第n行声明`返回值类型(若存在)`，可使用表格展示。
* 可添加`使用范例`、`有助于读者理解的扩展知识`等自由发挥内容（建议缩进显示）
* 原则上允许同一命令多个解释块存在，一段时间后会进行合并
* 感谢您的协作，希望您为大众带来美观、专业的文档。

```
命令调用： 〈有返回值〉 执行javascript - FV 命令支持库->网页
输入网址，对网址执行js代码，可传入参数，返回值为代码内return返回内容。
参数<1>的名称为“默认 (当前结果)”，这里输入url网址。
参数<2>的名称为“JavaScript”，这里输入js代码，可以用document.getElementsByTagName来获取变html标签。
参数<3>的名称为“超时(毫秒)”，这里指定JavaScript运行时间，运行超过时间终止js执行，执行下个任务块。
参数<+>点击该任务块内的加号将增加一个传入参数。
    参数<4>的名称为“arg1”，这里输入传入参数。
    参数<...>的名称为“argN”，这里输入传入参数。
返回值，代码内输入“return "返回值内容";”。
任务块示例：
    参数<1>：https://m.baidu.com
    参数<2>：return document.getElementsByTagName('pre')[0].innerHTML;
    参数<3>：不用填，缺省。
    参数<4>：点击〉文字〉你好
    返回值：百度网页的源代码
```

## 参数说明

### 默认（当前结果）

```
调用上一个步骤的运行结果。
```

### 外部分享到任务的内容

```
接收外部应用分享到任务的内容，支持文字、图片等不同参数类型。
```

### 某个动作的运行结果

```
调用某个步骤的运行结果，即某个步骤的返回值，例如 01输出。
```

### 支持的参数类型

| 类型名称 | 类型结构(哈希表)                                                  |
| ---- | ---------------------------------------------------------- |
| 无    | {name:无,type:-2}                                           |
| 文本   | {name:文字,type:1}                                           |
| 数字   | {name:数字,type:2}                                           |
| 定位   | {members:\[经度,纬度],name:位置,type:4}                          |
| 时间   | {members:\[年,月,天,小时,分],name:时间,type:3}                     |
| 应用   | {members:\[包名,名称,版本,大小,应用 文件],name:应用,type:5}              |
| 文件   | {members:\[路径,名称,大小,是文件夹],name:文件,type:8}                  |
| 图片   | {members:\[路径,名称,大小,是文件夹],name:文件,type:8}                  |
| 音乐   | {members:\[路径,名称,大小,是文件夹],name:文件,type:8}                  |
| 视频   | {members:\[路径,名称,大小,是文件夹],name:文件,type:8}                  |
| 哈希表  | {name:哈希表,type:10}                                         |
| 列表   | {name:列表,type:11}                                          |
| 文件夹  | {members:\[路径,名称,大小,是文件夹],name:文件,type:8}                  |
| 布尔值  | {name:布尔值,type:22}                                         |
| 网页   | {name:网页,type:13}                                          |
| 广播   | {members:\[action,mime type,data,extras],name:系统广播,type:9} |
| 通知   | {members:\[通知包名,通知参数],name:notification,type:30}           |
| 屏幕坐标 | {name:屏幕位置,type:24}                                        |
| 控件ID | {members:\[文字,左边,右边,顶部,底部,控件ID],name:控件ID,type:31}         |
| 颜色   | {members:\[红,绿,蓝,值],name:颜色,type:32}                       |

## 写在前面话

### 关键词

| 关键词  | 意思                                            |
| ---- | --------------------------------------------- |
| 任务块  | 指一个最小的任务步骤。比如“动作”里的“应用切换器”任务块，会直接打开应用切换器。     |
| 触发任务 | 指自动运行的任务，点击右上角的“圆圈里的A”图标，变成蓝色就是触发任务，灰色就是开关任务。 |
| 开关任务 | 指只执行一次的任务。                                    |

### 技巧

* 要想看懂这个文档，首先需要实践，也就是新建一个任务，进入编辑界面，按照以下每条写法一步步操作，看千遍没有实践一遍来的明白。
* 你可以开个浏览器，一边看浏览器上的本文档，一遍打开FV操作编辑任务，大部分任务块都会有输出结果，你可以引用，然后用消息对话框输出结果查看会输出什么，也可以用流程控制来判断是与否、或与非、加减乘除等等。
* 记住上面的参数类型，可以用获取变量的子变量来获取members里的值，比如\[路径]。
* 可以点击任务编辑界面右上角三个点中的启用日志来记录运行日志，用来调试，可以在/sdcard/fooViewSave/log/看到对应任务的日志文件；调试完最好关了，防止生成大量日志文件。
* 本文档可能有滞后性或错误，请指出以完善文档，当前文档对应fv版本1.4.6.1。

  **动作**

### 最近应用列表

```
命令调用： 〈无返回值〉 最近应用列表 - FV 命令支持库->动作
打开最近应用列表，相当于三大金钢键中的“□”键。
```

### 通知区

```
命令调用： 〈无返回值〉 通知区 - FV 命令支持库->动作
打开通知栏，相当于屏幕顶端下滑后打开的通知栏。
```

### 显示当前通知

```
命令调用： 〈无返回值〉 显示当前通知 - FV 命令支持库->动作
打开通知栏最后一条通知的跳转链接，比如通知栏有条QQ消息通知，运行此任务块后会打开QQ，相当于直接点击通知栏中的QQ消息。
```

### 返回

```
命令调用： 〈无返回值〉 返回 - FV 命令支持库->动作
返回键，相当于三大金钢键中的“▽”键。
```

### 主页

```
命令调用： 〈无返回值〉 主页 - FV 命令支持库->动作
在FV窗口打开时候是先关闭窗口，如果FV窗口没焦点，就是系统HOME一样了。
```

### 应用切换器

```
命令调用： 〈无返回值〉 最近应用列表 - FV 命令支持库->动作
执行应用切换器，相当于长按fv悬浮球打开的应用切换器(默认手势设置)。
```

### 打开/最小化主窗口

```
命令调用： 〈无返回值〉 打开/最小化主窗口 - FV 命令支持库->动作
打开fv主窗口，相当于上滑fv悬浮球打开的fv主窗口(默认手势设置)；如果已经打开fv主窗口，执行此任务块将会最小化fv主窗口。
```

### 锁屏

```
命令调用： 〈无返回值〉 锁屏 - FV 命令支持库->动作
执行锁屏，相当于系统黑屏后锁屏手机。
```

### 粘贴

```
命令调用： 〈无返回值〉 粘贴 - FV 命令支持库->动作
执行粘贴，把fv剪切板中第一条粘贴到当前屏幕中的输入框里，多个输入框会出现红框选择。
```

### 打开/关闭剪贴板

```
命令调用： 〈无返回值〉 打开/关闭剪切板 - FV 命令支持库->动作
打开fv剪切板。
```

### 打开/关闭便签

```
命令调用： 〈无返回值〉 打开/关闭便签 - FV 命令支持库->动作
打开fv便签
```

### 隐藏/显示悬浮球

```
命令调用： 〈无返回值〉 隐藏/显示悬浮球 - FV 命令支持库->动作
执行此任务块会把屏幕中的fv悬浮球隐藏起来；如果已隐藏，执行此任务块会显示出来fv悬浮球；相当于通知栏磁贴中的fv悬浮球功能。
```

### 打开/关闭手电筒

```
命令调用： 〈无返回值〉 打开/关闭手电筒 - FV 命令支持库->动作
打开或者关闭手电筒。
```

### 打开快速设置

```
命令调用： 〈无返回值〉 打开快速设置 - FV 命令支持库->动作
打开快速设置页，相当于屏幕顶端下滑出现的各种快速设置，比如数据的开关、wifi开关之类的。
```

### 打开音量设置

```
命令调用： 〈无返回值〉 打开音量设置 - FV 命令支持库->动作
打开音量面板
闹铃、音乐、铃声、语音电话、通知，五种音量控制面板。
```

### 长按电源键

```
命令调用： 〈无返回值〉 长按电源键 - FV 命令支持库->动作
相当于三大金钢键中的长按“关机”键。
```

### 分屏

```
命令调用： 〈无返回值〉 分屏 - FV 命令支持库->动作
相当于三大金钢键中的长按“□”键。
```

### 全屏截图

```
命令调用： 〈有返回值〉 全屏截图 - FV 命令支持库->动作
使用fv截图整个屏幕。
返回值：生成的临时文件路径，任务结束自动删除。
```

### 长截图

```
命令调用： 〈有返回值〉 长截图 - FV 命令支持库->动作
使用fv长截图对屏幕进行长截图，需要手动点击。
返回值：生成的临时文件路径，任务结束自动删除。
```

### 录屏

```
命令调用： 〈有返回值〉 录屏 - FV 命令支持库->动作
使用fv录屏，需要手动点击。
返回值：生成的临时文件路径，任务结束自动删除。
```

### 区域录屏

```
命令调用： 〈有返回值〉 区域录屏 - FV 命令支持库->动作
使用fv区域录屏，需要手动点击。
返回值：生成的临时文件路径，任务结束自动删除。
```

### 位置

```
命令调用： 〈无返回值〉 位置 - FV 命令支持库->动作
执行后该任务块后，可以手动点击fv悬浮球位置，相当于长按fv悬浮球后出现的一个竖排图标中的第二个图标。
```

### 微信扫一扫

```
命令调用： 〈无返回值〉 微信扫一扫 - FV 命令支持库->动作
打开微信扫一扫。
```

### 支付宝扫一扫

```
命令调用： 〈无返回值〉 支付宝扫一扫 - FV 命令支持库->动作
打开支付宝扫一扫。
```

### 支付宝付款码

```
命令调用： 〈无返回值〉 录屏 - FV 命令支持库->动作
打开支付宝付款码。
```

### 停止所有自定义任务

```
命令调用： 〈无返回值〉 停止所有自定义任务 - FV 命令支持库->动作
停止所有自定义任务，开关型任务、触发型任务都会关闭掉。
```

## 应用

### 打开应用

```
命令调用： 〈无返回值〉 打开应用 - FV 命令支持库->应用
打开某个app应用。
参数<1>的名称为“应用”，这里选择应用或者传入包名。
参数<+>点击该任务块内的加号将增加一个传入参数。
    参数<Activity>的名称为“Activity”，这里写入app活动页Activity。
    参数<Uri>的名称为“Uri”，这里写入资源标志位连接。
        Uri    意义 
        content://contacts/people/1  显示id为1的联系人信息    
        content://contacts/people/1  将id为1的联系人电话号码显示在拨号界面中    
        tel:123  显示电话为123的联系人信息    
        http://www.google.com  在浏览器中浏览该网站    
        file://sdcard/mymusic.mp3  播放MP3    
        geo:39.2456,116.3523  显示地图
    参数<Action>的名称为“Action”，这里写入指定Action的名称，
        常见的Activity Action Intent常量  
            常量名称  意义  
            ACTION_MAIN  应用程序入口  
            ACTION_VIEW  显示数据给用户  
            ACTION_ATTACH_DATA  指明附加信息给其他地方的一些数据  
            ACTION_EDIT  显示可编辑的数据    
            ACTION_PICK  选择数据    
            ACTION_CHOOSER  显示一个Activity选择器    
            ACTION_GET_CONTENT  获得内容    
            ACTION_DIAL  显示打电话面板    
            ACITON_CALL  直接打电话    
            ACTION_SEND  直接发短信    
            ACTION_SENDTO  选择发短信    
            ACTION_ANSWER  应答电话    
            ACTION_INSERT  插入数据    
            ACTION_DELETE  删除数据    
            ACTION_RUN  运行数据    
            ACTION_SYNC  同步数据    
            ACTION_PICK_ACTIVITY  选择Activity    
            ACTION_SEARCH  搜索    
            ACTION_WEB_SEARCH  Web搜索    
            ACTION_FACTORY_TEST  工厂测试入口点       
        常见的BroadcastIntent Action常量  BroadcastIntent   
            Action字符串常量  描述    
            ACTION_TIME_TICK  系统时间每过一分钟发出的广播    
            ACTION_TIME_CHANGED  系统时间通过设置发生了变化    
            ACTION_TIMEZONE_CHANGED  时区改变    
            ACTION_BOOT_COMPLETED  系统启动完毕    
            ACTION_PACKAGE_ADDED  新的应用程序apk包安装完毕    
            ACTION_PACKAGE_CHANGED  现有应用程序apk包改变    
            ACTION_PACKAGE_REMOVED  现有应用程序apk包被删除    
            ACTION_UID_REMOVED  用户id被删除       
        Intent的Action和Uri属性匹配    
            Action属性  Uri属性  说明    
            ACTION_VIEW  content://contacts/people/1  显示id为1的联系人信息    
            ACTION_DIAL  content://contacts/people/1  将id为1的联系人电话号码显示在拨号界面中    
            ACITON_VIEW  tel:123  显示电话为123的联系人信息    
            ACTION_VIEW  http://www.google.com  在浏览器中浏览该网站    
            ACTION_VIEW  file://sdcard/mymusic.mp3  播放MP3    
            ACTION_VIEW  geo:39.2456,116.3523  显示地图  
        常见的Category常量  
            Category字符串常量  描述  
            CATEGORY_BROWSABLE  目标Activity能通过在网页浏览器中点击链接而激活（比如，点击浏览器中的图片链接）    
            CATEGORY_GADGET  表示目标Activity可以被内嵌到其他Activity当中    
            CATEGORY_HOME  目标Activity是HOME Activity，即手机开机启动后显示的Activity，或按下HOME键后显示的Activity    
            CATEGORY_LAUNCHER  表示目标Activity是应用程序中最优先被执行的Activity    
            CATEGORY_PREFERENCE  表示目标Activity是一个偏爱设置的Activity  
        常见的Extra常量  
            Extra键值字符串常量  描述  
            EXTRA_BCC  装有邮件密送地址的字符串数组    
            EXTRA_CC  装有邮件抄送地址的字符串数组    
            EXTRA_EMAIL  装有邮件发送地址的字符串数组    
            EXTRA_INTENT  使用ACTION_PICK_ACTIVITY动作时装有Intent选项的键    
            EXTRA_KEY_EVENT  触发该Intent的案件的KeyEvent对象    
            EXTRA_PHONE_NUMBER  使用拨打电话相关的Action时，电话号码字符串的键，类型为String    
            EXTRA_SHORTCUT_ICON  使用ACTION_CREATE_SHORTCUT在HomeActivity创建快捷方式时，对快捷方式的描述信息。  
                其中ICON和ICON_RESOURCE描述的是快捷方式的图标，类型分别为Bitmap和ShortcutIconResource。INTENT描述的是快捷方式相对应的Intent对象。NAME描述的是快捷方式的名字。    
                    EXTRA_SHORTCUT_ICON_RESOURCE  EXTRA_SHORTCUT_INTENT  EXTRA_SHORTCUT_NAME  EXTRA_SUBJECT  描述信息主题的键    
            EXTRA_TEXT  使用ACTION_SEND动作时，用来描述要发送的文本信息，类型为CharSequence    
            EXTRA_TITLE  使用ACTION_CHOOSER动作时，描述对话框标题的键，类型为CharSequence    
            EXTRA_UID  使用ACTION_UID_REMOVED动作时，描述删除的用户id的键，类型为int      
    参数<MimeType>的名称为“MimeType”，传入资源的媒体类型，如text/HTML。
    参数<Extra>的名称为“Extra”，额外的数据集，哈希表。
    参数<启用锁屏悬浮球>的名称为“启用锁屏悬浮球”，输入“真”或“假”，也就是true与false，默认为假(false)；如果设为真，锁屏为无密码锁屏时，fv会自动打开应用，并把锁屏界面关闭；如果设为真，是有密码锁屏时，fv也会打开应用，但是应用会在锁屏界面下层，只有输入密码解锁后才能看见；如果不理解前面的话，可以试着理解下后头这句话“只要设为真并且不是密码或者图案锁屏，都可以点亮屏幕后直接打开应用”。
任务块示例：
    示例一：
        参数<Uri>：https://m.baidu.com
        其他参数缺省。
    示例二：
        参数<Uri>：tel:10086
        其他参数缺省。
```

### 桌面快捷方式

```
命令调用： 〈无返回值〉 桌面快捷方式 - FV 命令支持库->应用
执行某个桌面快捷方式。
```

### 备份应用

```
命令调用： 〈无返回值〉 备份应用 - FV 命令支持库->应用
创建该指定应用的apk副本，保存在/sdcard/Backups/app路径内。
```

### 卸载应用

```
命令调用： 〈无返回值〉 卸载应用 - FV 命令支持库->应用
卸载指定应用。
```

### 安装应用

```
命令调用： 〈无返回值〉 安装应用 - FV 命令支持库->应用
安装指定应用。
```

### 获取应用属性

```
命令调用： 〈无返回值〉 获取应用属性 - FV 命令支持库->应用
打开指定应用的应用详情页面。
参数<1>的名称为“输入”，点击参数选择app应用。
```

### 获取当前应用

```
命令调用： 〈有返回值〉 获取当前应用 - FV 命令支持库->应用
返回当前应用包名。
```

### 获取当前应用页面

```
命令调用： 〈有返回值〉 获取当前应用页面 - FV 命令支持库->应用
返回当前应用Activity活动页名称。
```

### 强制停止应用

```
命令调用： 〈无返回值〉 强制停止应用 - FV 命令支持库->应用
停止指定app应用。
```

## 文字

### 获取文字

```
命令调用： 〈有返回值〉 获取文本 - FV 命令支持库->文本
参数<1>名称为“默认 (当前结果)”，可改成改成其他文本，也可以引用其他任务块的返回值，如果引入返回值是非文本类型，会转换成文本输出。
返回值：相当于所有非文本类型转换成文本类型输出值。
    各种类型输入 返回值
    文本类型  文本类型
    文件类型  文件内容以文本输出
    网页类型  输出网页标题
```

### 替换文字

```
命令调用： 〈有返回值〉 替换文字 - FV 命令支持库->文本
输入字符串文本，对字符串文本替换，输出被替换后的字符串文本。
参数<1>的名称为“默认 (当前结果)”，这里输入文本。
参数<2>的名称为“目标”，这里输入替换规则，可以输入正则表达式。
参数<3>的名称为“替换”，这里输入要替换成什么。
返回值：替换后的文本。
任务块示例：
    参数<1>：abcdefg
    参数<2>：de
    参数<3>：的
    返回值：abc的fg
任务块示例：
    参数<1>：abc123ggg
    参数<2>：\d+
    参数<3>：def
    返回值：abcdefggg
```

### 连接文字

```
命令调用： 〈有返回值〉 连接文字 - FV 命令支持库->文字
把所有文字连接起来。
参数<1>的名称为“默认 (当前结果)”，这里输入文本。
参数<2>的名称为“文字”这里输入文字。
参数<+>点击该任务块内的加号将增加一个传入参数。
    参数<3>的名称为“文字”，这里输入输入文字。
    参数<...>的名称为“argN”，这里输入文字。
返回值：参数<1>+参数<2>+……+参数<N>
任务块示例：
    参数<1>：你好，
    参数<2>：fooview！
    参数<3>：功能强大，
    参数<4>：值得拥有。
    返回值：你好，fooview！功能强大，值得拥有。
```

### 识别图片

```
命令调用： 〈有返回值〉 识别图片 - FV 命令支持库->文字
对图片文件进行OCR识别。
参数<1>的名称为“默认 (当前结果)”，这里输入文件路径。
返回值：OCR结果。
任务块示例：
    参数<1>：/sdcard/abc.jpg
    返回值：快乐
```

### 识别语音

```
命令调用： 〈有返回值〉 识别语音 - FV 命令支持库->文字
对语音进行识别，语音转文本。
返回值：文本类型。
```

### 语音播报

```
命令调用： 〈无返回值〉  - FV 命令支持库->文字
输入文字，用语音朗读出来。
参数<1>的名称为“默认 (当前结果)”，这里输入文本。
```

### 翻译文字

```
命令调用： 〈有返回值〉 翻译文字 - FV 命令支持库->文字
对输入文本转换成其他语言，比如英文转简体中文，然后打开网页显示翻译结果。
参数<1>的名称为“默认 (当前结果)”，这里输入要翻译的文字。
参数<2>的名称为“翻译引擎”，这里选择一个翻译引擎。
返回值为网页对象。
注意：该任务块添加时会同时添加显示网页任务块，两个任务块请不要分开。
    显示网页参数<1>请不要更改参数。
    显示网页参数<2>选择是否用悬浮窗还是fv窗口。
如果要不显示网页获得翻译结果，推荐找个翻译api直接静默翻译，而不是使用此任务块。
```

### 获取剪贴板内容

```
命令调用： 〈有返回值〉 获得剪切板内容 - FV 命令支持库->文字
获取fv剪切板最新的一条内容。
返回值：文本类型。
```

### 删除剪贴板

```
命令调用： 〈无返回值〉 删除剪切板 - FV 命令支持库->文字
删除fv的剪切板最新一条内容。
```

### 分割文字

```
命令调用： 〈有返回值〉 分割文字 - FV 命令支持库->文字
对文字进行分割。
参数<1>的名称为“默认 (当前结果)”，这里输入文本。
参数<2>的名称为“分隔符”，这里输入分隔符。
返回值：列表类型。
任务块示例：
    参数<1>：abcde123ddtt33kkk
    参数<2>：d
    返回值：[abc,e123,,tt33kkk]
    返回值元素个数：4个
```

### 获取子字符串

```
命令调用： 〈有返回值〉 获取子字符串 - FV 命令支持库->文字
获取字符串中指定位置的一段文字。
参数<1>的名称为“默认 (当前结果)”，这里输入文本。
参数<2>的名称为“位置序号”，这里输入位置，数字类型。
参数<3>的名称为“长度”，这里输入从位置序号起取多少个字符。
返回值：取到的字符串。
任务块示例：
    参数<1>：abcdefghijklomn
    参数<2>：6
    参数<3>：2
    返回值：gh
```

### 复制到剪贴板

```
命令调用： 〈无返回值〉 复制到剪切板 - FV 命令支持库->文字
复制文本到剪切板。
参数<1>的名称为“默认 (当前结果)”，这里输入文字。
```

### 文字长度

```
命令调用： 〈有返回值〉 文字长度 - FV 命令支持库->文字
对文字长度统计，返回文字的长度。
参数<1>的名称为“默认 (当前结果)”，这里输入文字。
返回值：文字长度。
任务块示例：
    参数<1>：abcdef
    返回值：6
```

### 二维码

```
命令调用： 〈无返回值〉 二维码 - FV 命令支持库->文字
输入文字生成二维码，弹出分享框，选择分享到哪里，比如分享到QQ群。
参数<1>的名称为“默认 (当前结果)”，这里输入文本。
```

## 图片

### 获取图片颜色

```
命令调用： 〈有返回值〉 获取图片颜色 - FV 命令支持库->图片
传入图片，获取指定位置的颜色。
```

## 文件

### 获取文件

```
命令调用： 〈有返回值〉 获取文件 - FV 命令支持库->文件
对选择的文件返回路径、名称、大小、是不是文件夹、文件对象。
参数<1>的名称为“选择文件”，这里选择文件、选择文件夹、引用其他任务块输入的文件路径。
返回值：路径、名称、大小、是不是文件夹、文件对象(直接点确定)。
任务块示例：
    参数<1>：/sdcard/abc.txt
    返回值：
        选择返回类型    返回值    意义
        路径    /sdcard/abc.txt    文件路径
        名称    abc.txt    文件名
        大小    0    文件大小，单位b
        是文件夹    false    是否为文件夹，是文件夹返回true(真)，不是返回false(假)
        取消    null    返回类型为“空”，非文本字符串“null”。
        确定    文件对象    返回文件对象（如文件文本内容），也可以说文件句柄；注意：不能传入js里，因为js传入时会进行类型转换。
```

### 打开文件

```
命令调用： 〈有返回值〉 打开文件 - FV 命令支持库->文件
对选择的文件用指定app打开。
参数<1>的名称为“选择文件”，这里选择文件、引用其他任务块输入的文件路径。
参数<2>的名称为“选择应用”，这里选择指定用来打开文件的app应用。
返回值：路径、名称、大小、是不是文件夹、文件对象(直接点确定)。
任务块示例：
    参数<1>：/sdcard/abc.txt
    返回值：
        选择返回类型    返回值    意义
        路径    /sdcard/abc.txt    文件路径
        名称    abc.txt    文件名
        大小    0    文件大小，单位b
        是文件夹    false    是否为文件夹，是文件夹返回true(真)，不是返回false(假)
        取消    null    返回类型为“空”，非文本字符串“null”。
        确定    文件对象    返回文件对象，也可以说文件句柄；注意：不能传入js里，因为js传入时会进行类型转换。
不建议用此任务块获取返回值，可以用获取文件获得返回值。
```

### 删除文件

```
命令调用： 〈无返回值〉 删除文件 - FV 命令支持库->文件
对选定文件执行删除操作
参数<1>的名称为“选择输入”，这里可以选择文件、选择文件夹、输入文件路径中一种。
任务块示例：
    参数<1>：/sdcard/abc.jpg
```

### 复制到文件

```
命令调用： 〈有返回值〉 复制到文件 - FV 命令支持库->文件
对选择的文件执行复制操作到指定文件夹。
参数<1>的名称为“选择文件”，这里选择文件、选择文件夹、引用其他任务块输入的文件路径。
参数<2>的名称为“选择文件夹”，这里选择文件夹，也可以引入其他任务块输入的文件夹路径。
参数<+>点击该任务块内的加号将增加一个传入参数。
    参数<3>的名称为“否”，如果文件夹里有与参数1相同文件名的是否覆盖，不覆盖(否)将会弹出是否覆盖选择框。
返回值：路径、名称、大小、是不是文件夹、文件对象(直接点确定)。
任务块示例：
    参数<1>：/sdcard/abc.txt
    返回值：
        选择返回类型    返回值    意义
        路径    /sdcard/abc.txt    文件路径
        名称    abc.txt    文件名
        大小    0    文件大小，单位b
        是文件夹    false    是否为文件夹，是文件夹返回true(真)，不是返回false(假)
        取消    null    返回类型为“空”，非文本字符串“null”。
        确定    文件对象    返回文件对象，也可以说文件句柄；注意：不能传入js里，因为js传入时会进行类型转换。
```

### 移动到文件

```
命令调用： 〈有返回值〉 移动到文件 - FV 命令支持库->文件
对选择的文件执行移动操作到指定文件夹。
参数<1>的名称为“选择文件”，这里选择文件、选择文件夹、引用其他任务块输入的文件路径。
参数<2>的名称为“选择文件夹”，这里选择文件夹，也可以引入其他任务块输入的文件夹路径。
参数<+>点击该任务块内的加号将增加一个传入参数。
    参数<3>的名称为“否”，如果文件夹里有与参数1相同文件名的是否覆盖，不覆盖(否)将会弹出是否覆盖选择框。
返回值：路径、名称、大小、是不是文件夹、文件对象(直接点确定)。
任务块示例：
    参数<1>：/sdcard/abc.txt
    返回值：
        选择返回类型    返回值    意义
        路径    /sdcard/abc.txt    文件路径
        名称    abc.txt    文件名
        大小    0    文件大小，单位b
        是文件夹    false    是否为文件夹，是文件夹返回true(真)，不是返回false(假)
        取消    null    返回类型为“空”，非文本字符串“null”。
        确定    文件对象    返回文件对象，也可以说文件句柄；注意：不能传入js里，因为js传入时会进行类型转换。
```

### 重命名文件

```
命令调用： 〈有返回值〉 重命名文件 - FV 命令支持库->文件
对选择的文件执行重命名操作。
参数<1>的名称为“选择文件”，这里选择文件、选择文件夹、引用其他任务块输入的文件路径。
参数<2>的名称为“选择名称”，这里输入文件名要改成的什么。
参数<+>点击该任务块内的加号将增加一个传入参数。
    参数<3>的名称为“否”，如果文件夹里有与参数1相同文件名的是否覆盖，不覆盖(否)将会弹出是否覆盖选择框。
返回值：路径、名称、大小、是不是文件夹、文件对象(直接点确定)。
任务块示例：
    参数<1>：/sdcard/abc.txt
    返回值：
        选择返回类型    返回值    意义
        路径    /sdcard/abc.txt    文件路径
        名称    abc.txt    文件名
        大小    0    文件大小，单位b
        是文件夹    false    是否为文件夹，是文件夹返回true(真)，不是返回false(假)
        取消    null    返回类型为“空”，非文本字符串“null”。
        确定    文件对象    返回文件对象，也可以说文件句柄；注意：不能传入js里，因为js传入时会进行类型转换。
```

### 新建文件夹

```
命令调用： 〈有返回值〉 新建文件夹 - FV 命令支持库->文件
在指定文件夹内新建一个文件夹。
参数<1>的名称为“选择文件夹”，这里选择文件、选择文件夹、引用其他任务块输入的文件路径。
参数<2>的名称为“文件夹名称”，这里输入新建文件夹的名称。
返回值：路径、名称、大小、是不是文件夹、文件对象(直接点确定)。
任务块示例：
    参数<1>：/sdcard/abc.txt
    返回值：
        选择返回类型    返回值    意义
        路径    /sdcard/abc.txt    文件路径
        名称    abc.txt    文件名
        大小    0    文件大小，单位b
        是文件夹    false    是否为文件夹，是文件夹返回true(真)，不是返回false(假)
        取消    null    返回类型为“空”，非文本字符串“null”。
        确定    文件对象    返回文件对象，也可以说文件句柄；注意：不能传入js里，因为js传入时会进行类型转换。
```

### 列出文件夹内容

```
命令调用： 〈有返回值〉 列出文件夹内容 - FV 命令支持库->文件
输出指定文件夹内所有文件及文件夹列表。
参数<1>的名称为“默认 (当前结果)”，这里输入文件路径。
返回值：列表类型，比如：“[文件对象,文件对象,文件对象，……]”。
任务块示例：
    参数<1>：/sdcard/abc.jpg
    返回值：[文件对象,文件对象]
    返回两个对象代表文件夹下只有两个文件，文件对象可以传入“获取文件”里获得更详细的信息。
```

### 压缩文件

```
命令调用： 〈有返回值〉 压缩文件 - FV 命令支持库->文件
对选择的文件执行压缩操作，在所在文件夹生成.zip文件，。
参数<1>的名称为“选择输入”，这里选择文件、选择文件夹、引用其他任务块输入的文件路径。
返回值：路径、名称、大小、是不是文件夹、文件对象(直接点确定)。
任务块示例：
    示例一：
        参数<1>：/sdcard/abc.txt
        返回值：
            选择返回类型    返回值    意义
            路径    /sdcard/abc.txt    文件路径
            名称    abc.txt    文件名
            大小    0    文件大小，单位b
            是文件夹    false    是否为文件夹，是文件夹返回true(真)，不是返回false(假)
            取消    null    返回类型为“空”，非文本字符串“null”。
            确定    文件对象    返回文件对象，也可以说文件句柄；注意：不能传入js里，因为js传入时会进行类型转换。
    示例二：
        参数<1>：/sdcard/
        返回值参考示例一。
    示例三：
        参数<1>：[文件对象,文件对象,文件对象,……]
        返回值参加示例一；文件对象，非文件路径。
```

### 解压文件

```
命令调用： 〈有返回值〉 解压文件 - FV 命令支持库->文件
对选择的压缩文件执行解压操作，解压到指定文件夹内。
参数<1>的名称为“选择文件”，这里选择文件、选择文件夹、引用其他任务块输入的文件路径。
参数<2>的名称为“选择文件夹”，这里选择文件夹，也可以引入其他任务块输入的文件夹路径。
返回值：路径、名称、大小、是不是文件夹、文件对象(直接点确定)。
任务块示例：
    参数<1>：/sdcard/abc.zip
    参数<2>：/sdcard/
    返回值：
        选择返回类型    返回值    意义
        路径    /sdcard/abc.txt    文件路径
        名称    abc.txt    文件名
        大小    0    文件大小，单位b
        是文件夹    false    是否为文件夹，是文件夹返回true(真)，不是返回false(假)
        取消    null    返回类型为“空”，非文本字符串“null”。
        确定    文件对象    返回文件对象，也可以说文件句柄；注意：不能传入js里，因为js传入时会进行类型转换。
```

### 写文件

```
命令调用： 〈有返回值〉 写文件 - FV 命令支持库->文件
对选择的文件执行写入内容操作，文件路径不存在会自动创建。
参数<1>的名称为“内容”，这里输入写入内容，或者网页对象，内容会被fv自动转换成UTF-8编码在写入文件里，网页对象将会以源代码形式保存。
参数<2>的名称为“文件”，这里选择文件，也可以引入其他任务块输入的文件路径。
返回值：路径、名称、大小、是不是文件夹、文件对象(直接点确定)。
任务块示例：
    参数<1>：今天天气真好。
    参数<2>：/sdcard/abc.txt
    返回值：
        选择返回类型    返回值    意义
        路径    /sdcard/abc.txt    文件路径
        名称    abc.txt    文件名
        大小    0    文件大小，单位b
        是文件夹    false    是否为文件夹，是文件夹返回true(真)，不是返回false(假)
        取消    null    返回类型为“空”，非文本字符串“null”。
        确定    文件对象    返回文件对象，也可以说文件句柄；注意：不能传入js里，因为js传入时会进行类型转换。
```

### 读文件文字

```
命令调用： 〈有返回值〉 读文件文字 - FV 命令支持库->文件
读取文件内容。
参数<1>的名称为“选择文件”，这里输入文件路径。
参数<2>的名称为“UTF-8”，以什么编码读取文件。
返回值：文件内容。
任务块示例：
    参数<1>：/sdcard/abc.txt
    返回值：今天天气真好。
```

### 下载

```
命令调用： 〈有返回值〉 下载 - FV 命令支持库->文件
对选择的文件执行复制操作到指定文件夹。
参数<1>的名称为“URL”，这里输入要下载的网址。
参数<2>的名称为“选择文件夹”，这里选择文件夹，也可以引入其他任务块输入的文件夹路径。
返回值：路径、名称、大小、是不是文件夹、文件对象(直接点确定)。
任务块示例：
    参数<1>：/sdcard/abc.txt
    返回值：
        选择返回类型    返回值    意义
        路径    /sdcard/abc.txt    文件路径
        名称    abc.txt    文件名
        大小    0    文件大小，单位b
        是文件夹    false    是否为文件夹，是文件夹返回true(真)，不是返回false(假)
        取消    null    返回类型为“空”，非文本字符串“null”。
        确定    文件对象    返回文件对象，也可以说文件句柄；注意：不能传入js里，因为js传入时会进行类型转换。
```

## 网页

### 显示网页

```
命令调用： 〈无返回值〉 显示网页 - FV 命令支持库->网页
输入url网址，或者网页对象，用fv打开网页并显示。
参数<1>的名称为“默认 (当前结果)”，这里输入url网址，如https://baidu.com。
参数<2>的名称为“悬浮窗”，这里有两个可选值，布尔值“真”与“假”，也就是true与false；真代表以悬浮窗打开网页，假代表以窗口打开网页，默认为假(false)。
```

### 获取网页

```
命令调用： 〈有返回值〉 获取网页 - FV 命令支持库->网页
输入url网址，或者网页对象，返回网页对象。
参数<1>的名称为“默认 (当前结果)”，这里输入url网址，如https://baidu.com。
返回值为网页对象，如果传入消息对话框会把网页对象转为文本，转文本只会输出网页标题，要想获得网页内容建议用“网页>js”。
注：不推荐使用，建议以“网页>http请求”或者“网页>执行js”代替。
```

### 页面内查找

```
命令调用： 〈有返回值〉 页面内查找 - FV 命令支持库->网页
输入url网址或者网页对象，返回查找到的内容。
参数<1>的名称为“默认 (当前结果)”，这里输入url网址，如https://baidu.com。
参数<2>的名称为“样式选择器”，这里输入html标签或者css样式name、id，用于定位查找的内容位置。
参数<3>的名称为“属性”，这里输入属性名称，可以为：innerText、innerHTML等，具体百度“js innerText”。
返回值为对应返回值。
示例：
    参数<1>：weather.com
    参数<2>：div.styles-KJsoQumW__mobile-cc-main-container__Bd2gb
    参数<3>：innerText
    返回值：当地天气的文本内容。
```

### 搜索

```
命令调用： 〈无返回值〉 搜索 - FV 命令支持库->网页
输入内容，用指定搜索引擎搜索指定关键词，并打开网页。
参数<1>的名称为“默认 (当前结果)”，这里输入需要查找的关键词。
参数<2>的名称为“搜索引擎”，这里指定一个搜索引擎。
返回值为网页对象，网页对象请参看获取网页。
注意：一般添加该任务块时会自动添加“显示网页任务块”。
```

### 执行JavaScript

```
命令调用： 〈有返回值〉 执行javascript - FV 命令支持库->网页
输入网址，对网址执行js代码，可传入参数，返回值为代码内return返回内容。
参数<1>的名称为“默认 (当前结果)”，这里输入url网址，或者网页对象。
参数<2>的名称为“JavaScript”，这里输入js代码，可以用document.getElementsByTagName来获取变html标签。
参数<3>的名称为“超时(毫秒)”，这里指定JavaScript运行时间，运行超过时间终止js执行，执行下个任务块。
参数<+>点击该任务块内的加号将增加一个传入参数。
    参数<4>的名称为“arg1”，这里输入传入参数。
    参数<...>的名称为“argN”，这里输入传入参数。
返回值，代码内输入“return "返回值内容";”。
任务块示例(如何让js执行结果输出)：
    参数<1>：https://m.baidu.com
    参数<2>：return document.getElementsByTagName('pre')[0].innerHTML;
    参数<3>：不用填，缺省。
    参数<4>：点击〉文字〉你好
    返回值：百度网页的源代码
任务块示例(如何让js输出12+12的结果)：
    参数<1>：https://m.baidu.com
    参数<2>：return 12+12;
    参数<3>：不用填，缺省。
    参数<4>：点击〉文字〉你好
    返回值：24
注意：参数<2>里可以执行所有javascript语句，这里只是示例，如果你要外部调用js执行的结果需要return来返回输出结果，然后你才能用其他任务块引用该结果。
注意：该任务块相当于你在浏览器访问网页，会下载网页内所有资源并解析成DOM树(html)，参数<1>所加载的网页会包含网页内的视频与图片，也就是你访问的网址时也会下载该网页上的视频与图片到缓存里，如果不想下载视频与图片只想获取源网页，请使用http请求。
```

### HTTP请求

```
命令调用： 〈有返回值〉 HTTP请求 - FV 命令支持库->网页
选择提交方式，输入url网址，返回网页的内容。
参数<1>的名称为“GET”，这里为提交方式，有两种，GET和POST。
参数<2>的名称为“URL”，如https://baidu.com。
参数<3>的名称为“HTTP Headers”，网页报头,是个哈希表。
参数<4>的名称为“请求参数”，这里输入数据，键值对应，哈希表。
```

## 流程控制

### 如果

```
命令调用： 〈无返回值〉 如果 - FV 命令支持库->流程控制
比较等式两边，如果条件成立时执行条件下的动作，不成立则执行否则分支下的动作。可判断是否包含正则表达式，是否等于空对象等。
参数<1>的名称为“条件”。
```

### 等待

```
命令调用： 〈无返回值〉 等待 - FV 命令支持库->流程控制
等待条件满足时候执行动作。如果超时条件仍未满足，执行超时分支下的动作。如果不设置超时则一直等待。
参数<1>的名称为“条件”，点击参数即可添加条件。
参数<2>的名称为“超时时间”，输入时间（秒）。
```

### 重复

```
命令调用： 〈有返回值〉 重复 - FV 命令支持库->流程控制
输入数字、列表、哈希表，重复指定数字次数，或者重复指定列表、哈希表元素个数。
参数<1>的名称为“次”，这里输入数字、列表、哈希表种的一种。
返回值为任务块内第一行，以“默认结果”获得返回值。
任务块示例：
    示例一：
        参数<1>数字类型：6;
        返回值：依次为0、1、2、3、4、5
    示例二：
        参数<1>列表类型：["tttt","gggg","uuuu"];
        返回值：依次为tttt、gggg、uuuu
如何为任务块内添加其他任务块？拖动任务块到任务块就可以。
```

### 分支

```
命令调用： 〈无返回值〉 分支 - FV 命令支持库->流程控制
输入数据，如果值与数据一样会执行对应操作，相当于js中的switch case，具体可以百度下。
```

### 跳出循环

```
命令调用： 〈无返回值〉 跳出循环 - FV 命令支持库->流程控制
跳出当前循环，一般与“重复”，“如果”搭配使用，相当于编程里的break。
```

### 终止

```
命令调用： 〈无返回值〉 终止 - FV 命令支持库->流程控制
终止当前任务，或者终止某个任务。
不点<+>时是终止当前任务，如果是触发条件类型任务，只会停止本次任务进程，下次触发可以再次运行任务。
参数<+>点击该任务块内的加号将增加一个传入参数。
    参数<1>的名称为“自定义任务”，这里输入任务名，如果该名称是触发条件类型任务，会关闭该触发条件任务，下次触发也不会运行。
```

### 间隔时间

```
命令调用： 〈无返回值〉 间隔时间 - FV 命令支持库->流程控制
延迟多少毫秒后继续执行。
参数<1>的名称为“时间(毫秒)”，输入毫秒，1000毫秒=1秒。
```

### 创建变量

```
命令调用： 〈有返回值〉 创建变量 - FV 命令支持库->流程控制
创建个变量用来存储数据，本次任务有效。
参数<+>点击该任务块内的加号将增加一个传入参数。
    参数<1>的名称为“初始值”，这里输入传入初始值，也就是默认值。
    参数<2>的名称为“名称”，这里输入名称，随便起一个，比如“abc”。
返回值，返回当前初始值内容。
```

### 设置变量

```
命令调用： 〈有返回值〉 设置变量 - FV 命令支持库->流程控制
设置已存在的变量的值。
参数<1>的名称为“默认 (当前结果)”，输入要改变的值
参数<2>的名称为“设置变量”，选择当前任务内的某个“创建变量”。
参数<+>点击该任务块内的加号将增加一个传入参数。
    参数<3>的名称为“子变量”，这里输入元素名称。
返回值，返回当前“创建变量”的值。
任务块示例：
    参数<1>：你好
    参数<2>：选择某个创建变量(列表类型[abc,def,qqq,uuu])
    参数<3>：[2]
    返回值：[abc,def,你好,uuu]
```

### 获取变量

```
命令调用： 〈有返回值〉 获取变量 - FV 命令支持库->流程控制
获取已存在的变量的值，或者其子变量的值。
参数<1>的名称为“变量”，选择某个创建变量。
参数<+>点击该任务块内的加号将增加一个传入参数。
    参数<2>的名称为“子变量”，输入子变量表达式。可通过下标来访问列表中的元素，如[0], 通过下标或者.来访问哈希表元素如[key]或.key等。
返回值，返回当前选择的变量的值；还可以填“创建变量”的名称，比如：[创建变量的名称]、[abc]、[i]，以此可以实现读取指定下标的值。
任务块示例：
    参数<1>：选择某个变量(列表类型[abc,def,qqq,uuu])
    参数<2>：[0]
    返回值：adc
任务块示例：
    参数<1>：选择某个变量(哈希表类型{members:[路径,名称,大小,是文件夹],name:文件,type:8})
    参数<2>：.type
    返回值：8
任务块示例：
    01创建变量：
        <参数1>：列表类型：["abc","def","ggg","rrr"]
        <参数2>：缺省。
    02创建变量：
        <参数1>：数字类型：2
        <参数2>：kkk
    03获取变量：
        参数<1>：引用01
        参数<2>：[kkk]
        返回值：ggg
任务块示例：
    01创建变量：
        <参数1>：哈希表类型：{"abc":22,"def":33,"ggg":55,"rrr":66}
        <参数2>：缺省。
    02创建变量：
        <参数1>：文本类型：ggg
        <参数2>：kkk
    03获取变量：
        参数<1>：引用01
        参数<2>：[kkk]
        返回值：55
```

### 变量类型

```
命令调用： 〈有返回值〉 变量类型 - FV 命令支持库->流程控制
返回变量的类型。
参数<1>的名称为“变量”，输入要改变的值
返回值，返回类型。
任务块示例：
    参数<1>：选择某个创建变量(列表类型[abc,def,qqq,uuu])
    返回值：返回变量的类型，类似{name:列表,type:11}，具体有哪些类型请参考任务文档开头的类型列表。
```

### 计算器

```
命令调用： 〈有返回值〉 计算器 - FV 命令支持库->流程控制
对传入参数做数学运算。
参数<1>的名称为“计算器”，这里输入算式。
参数<+>点击该任务块内的加号将增加一个传入参数。
    参数<2>的名称为“参数 - (a)”，这里输入传入数字。
    参数<3>的名称为“参数 - (b)”，这里输入传入数字。
    参数<...>的名称为“参数 - (N)”，这里输入传入参数。
返回值，算式运算结果。
任务块示例：
    参数<1>：a+b
    参数<2>：5
    参数<3>：6
    返回值：11
```

### 子任务

```
命令调用： 〈有返回值〉 子任务 - FV 命令支持库->流程控制
调用子任务，运行完子任务在执行主任务。
参数<1>的名称为“子任务”，这里输入某个任务的任务名。
参数<+>点击该任务块内的加号将增加一个传入参数。
    参数<2>的名称为“参数”，这里输入传入到子任务中的参数。
    参数<...>的名称为“参数”，这里输入传入到子任务中的参数。
返回值，子任务内最后处理的数据的值。
任务块示例：
    参数<1>：加法运算器(子任务参考下方子任务)
    参数<2>：2
    参数<3>：3
    返回值：5
    子任务：加法运算器
        任务块01：获取变量
            参数<1>：外部分享到任务的内容
            参数<2>：[0]
            返回值：2
        任务块02：获取变量
            参数<1>：外部分享到任务的内容
            参数<2>：[1]
            返回值：3
        任务块03：计算器
            参数<1>：a+b
            参数<2>：某个动作的运行结果(任务块01)
            参数<3>：某个动作的运行结果(任务块02)
            返回值：5
    因为任务块03返回值是5，所以这个子任务就返回5。
```

### 执行JavaScript

```
命令调用： 〈有返回值〉 执行javascript - FV 命令支持库->流程控制
输入js代码，可传入参数，返回值为代码内return返回内容。
参数<1>的名称为“JavaScript”，这里输入js代码。
参数<2>的名称为“超时(毫秒)”，这里指定JavaScript运行时间，运行超过时间终止js执行，执行下个任务块。
参数<+>点击该任务块内的加号将增加一个传入参数。
    参数<3>的名称为“arg1”，这里输入传入参数。
    参数<...>的名称为“argN”，这里输入传入参数。
返回值，代码内输入“return "返回值内容";”。
任务块示例(如何让js执行结果输出)：
    参数<1>：return arg1+"，fooview！";
    参数<2>：不用填，缺省。
    参数<3>：点击〉文字〉你好
    返回值：你好，fooview！
任务块示例(如何让js输出12+12的结果)：
    参数<1>：var a=12;var b=12;return a+b;
    参数<2>：不用填，缺省。
    参数<3>：不用填，缺省。
    返回值：24
注意：参数<1>里可以执行所有javascript语句，这里只是示例，如果你要外部调用js执行的结果需要return来返回输出结果，然后你才能用其他任务块引用该结果。
```

### 注释

```
命令调用： 〈无返回值〉 如果 - FV 命令支持库->流程控制
写个注释方便理顺思路。
参数<1>的名称为“注释”，输入注释。
```

## 系统

### 获取系统广播

```
命令调用： 〈有返回值〉 获取系统广播 - FV 命令支持库->系统
获得系统或app发出的广播内容。
参数<1>的名称为“默认 (当前结果)”，这里不用输入任何东西，保持默认。
返回值，代码内输入“return "返回值内容";”。
任务块示例：
    参数<1>：默认，缺省。
    返回值：一个通知。
注意：执行此任务块有个前提条件，必须前头跟“触发条件任务块”，否则返回是空。
```

### 发送系统广播

```
命令调用： 〈无返回值〉 发送系统广播 - FV 命令支持库->系统
发出一条广播。
参数<1>的名称为“Action”，这里输入广播的action，可以理解为广播的标题，就像发帖子要写标题，请参考“打开应用”的“action”。
参数<+>点击该任务块内的加号将增加一个传入参数。
    参数<2>的名称为“Uri”，这里输入资源标志位，请参考“打开应用”的“Uri”。
    参数<3>的名称为“MimeType”，这里输入数据的类型，请参考“打开应用”的“MimeType”。
    参数<4>的名称为“Extra”，这里输入Extra，请参考“打开应用”的“Extra”。
    参数<5>的名称为“应用”，这里指定接收此广播的app，也就是收件人是哪个app。
    参数<6>的名称为“Activity”，这里输入活动页名称，也就是Activity。
任务块示例1：
    参数<1>：android.intent.action.AIRPLANE_MODE。
    执行后将给系统发送一条广播，这条“android.intent.action.AIRPLANE_MODE”是系统内置广播，代表着“飞行模式已改变”。
任务块示例2:
    参数<1>：葡萄
    参数<4>(哈希表，键值对应)：{键:值,文本:哈喽}
    执行后将发送一条标题是“葡萄”的广播，这时可以新建一个任务，用那个任务来接收此广播，接收方法参考“获取系统广播”。
```

### 分享

```
命令调用： 〈无返回值〉 分享 - FV 命令支持库->系统
把输入的文字或文件分享到指定app。
参数<1>的名称为“默认 (当前结果)”，这里输入文本，或者传入文件。
参数<2>的名称为“选择应用”，这里输入要分享到哪个app，默认为空，如果执行时为空的话就弹出分享选择列表。
任务块示例：
    参数<1>：选择一个文件
    参数<2>：缺省。
```

### 获取当前时间

```
命令调用： 〈有返回值〉 获取当前时间 - FV 命令支持库->系统
获取当前时间。
返回值可以选择“年、月、天、小时、分”或者直接选择确定。
任务块示例：
    返回值(年月日时分)(数字)：2020
    返回值(直接点确定)：{members:[年,月,天,小时,分],name:时间,type:3}
```

### 获取当前位置

```
命令调用： 〈有返回值〉 获取当前位置 - FV 命令支持库->系统
获取当前位置，通过硬件的卫星定位。
返回值可以选择“经度、纬度”或者直接选择确定。
任务块示例：
    返回值(经度、纬度)(数字)：36.6666
    返回值(直接点确定)：{members:[经度,纬度],name:位置,type:4}
```

### 执行Shell命令

```
命令调用： 〈有返回值〉 执行shell命令 - FV 命令支持库->系统
执行shell命令。
参数<1>的名称为“Shell命令”，这里输入shell命令。
参数<2>的名称为“RootShell”，这里选择是否以root权限执行此shell命令。
参数<3>的名称为“超时(毫秒)”，这里输入超时时间。
参数<+>点击该任务块内的加号将增加一个传入参数。
    参数<4>的名称为“arg1”，这里将传入shell一个参数
    参数<N>的名称为“argN”，这里默认否，这里将传入shell一个参数。
任务块示例1：
    参数<1>：echo arg1
    参数<4>：你好
    返回值：你好
任务块示例2:
    参数<1>：echo arg1+arg2
    参数<4>(arg1)：你好
    参数<5>(arg2)：世界
    返回值：你好+世界
注意：从任务块示例2就可以看出，传入参数argN是直接替换shell的argN，argN在shell不是变量。
```

### 发送通知

```
命令调用： 〈无返回值〉 发送通知 - FV 命令支持库->系统
发出一条通知。
参数<1>的名称为“标题”，这里输入通知的标题。
参数<2>的名称为“内容”，这里输入通知的内容。
参数<+>点击该任务块内的加号将增加一个传入参数。
    参数<3>的名称为“点击运行任务”，这里选择在点击弹出的通知后执行什么任务。
    参数<4>的名称为“进行中”，这里默认否，如果选择真就是通知栏中的通知不能手动划掉。
任务块示例1：
    参数<1>：我是标题
    参数<2>：我是内容
    执行后将给系统发送一条通知。
任务块示例2:
    参数<1>：我是通知标题
    参数<2>：我是一条内容
    参数<3>(选择一条你已有的任务)：ping网络延迟
    执行后将发送一条通知，你点击这条通知就会运行“ping网络延迟”。
```

### 清理通知

```
命令调用： 〈无返回值〉 清理通知 - FV 命令支持库->系统
清理下滑通知栏的所有通知。
```

### 振动

```
命令调用： 〈无返回值〉 振动 - FV 命令支持库->系统
开始震动。
参数<1>的名称为“时间 (毫秒)”，这里输入数字，一秒=1000毫秒
任务块示例：
    参数<1>：2000
```

### 获取当前输入法

```
命令调用： 〈有返回值〉 获取当前输入法 - FV 命令支持库->系统
返回当前正在使用的输入法名称。
返回值为一个文本。
任务块示例：
    返回值：讯飞输入法 
注意：获取输入法传入js是输入法名称，用fv if判断时是包名。
```

### 切换输入法

```
命令调用： 〈无返回值〉 切换输入法 - FV 命令支持库->系统
设置系统输入法为指定输入法。
参数<1>的名称为“切换输入法”，这里输入输入法包名或者手动选择一个输入法。
任务块示例：
    参数<1>(包名)：com.iflytek.inputmethod
    参数<1>(手动选择)：点击弹出的输入法列表选择一个。
```

### 设为桌面

```
命令调用： 〈无返回值〉 设为桌面 - FV 命令支持库->系统
设置系统的桌面背景图。
参数<1>的名称为“默认 (当前结果)”，这里输入图片路径，或者手动选择一个图片。
任务块示例：
    参数<1>：/sdcard/abc.jpg
```

### 设置锁屏背景

```
命令调用： 〈无返回值〉 设置锁屏背景 - FV 命令支持库->系统
设置系统的锁屏背景图。
参数<1>的名称为“默认 (当前结果)”，这里输入图片路径，或者手动选择一个图片。
任务块示例：
    参数<1>：/sdcard/abc.jpg
```

### FV窗口状态

```
命令调用： 〈有返回值〉 FV窗口状态 - FV 命令支持库->系统
查询当前FV窗口状态，查询fv窗口是否打开。
返回值为“真”、“假”，也就是true与false。
```

### 悬浮球状态

```
命令调用： 〈有返回值〉 悬浮球状态 - FV 命令支持库->系统
查询悬浮球的状态。
返回值为：
    显示名称    值(数字类型)
    显示悬浮球    0
    隐藏悬浮球，显示线    1
    启动用功能但不显示悬浮球和线    2
    禁用功能    3
注意：如果你是用来判断的。比如用if来判断，应该以值来判断。如果你只是查询当前状态并显示，那就可以直接显示名称。
```

### 设置悬浮球

```
命令调用： 〈无返回值〉 设置锁屏背景 - FV 命令支持库->系统
设置系统的锁屏背景图。
参数<1>的名称为“0”，这里选择选项中的一个。
任务块示例：
    参数<1>：显示悬浮球
    运行后fv悬浮球会设置为显示状态。
```

## 屏幕动作

### 录制动作

```
命令调用： 〈无返回值〉 录制动作 - FV 命令支持库->屏幕动作
该功能可录制屏幕操作的动作，并在任务执行时模拟录制的动作，以实现预期功能。
操作一次手机屏幕称之为步骤，把为了实现一个功能的所有步骤叫做动作。例如预实现打开微信扫一扫功能，其中“点菜单”、“点扫一扫”分别都可称为一个步骤，把他们合起来就称为一个“打开微信扫一扫”的动作。
参数<1>的名称为“动作”，点击即可进入动作录制窗口，见解释图。
    自动识别步骤：操作屏幕后自动展示在工具条内，点击该步骤可修改“名称”。该步骤实质为点击按钮命令。
    输入文本：某输入框发生文字变化后，软件识别后显示在工具条内，识别为单次文本变化（请勿打字，直接粘贴）。执行时自动输入相同文本。
    手动录入步骤：实质为手势命令，可通过加号选用，或直接点击选择窗口。窗口变红后点击或滑动屏幕录制。
    间隔时间：等待设定时间后执行下一个步骤，单位为毫秒。
    打开/关闭快速设置：指展开/关闭通知栏的快捷开关。
```

![](http://ww1.sinaimg.cn/large/6b1dd0a7ly1gd1k1dp1j6j20tr0hd3zt.jpg)

### 点击按钮

```
命令调用： 〈有返回值〉 点击按钮 - FV 命令支持库->屏幕动作
点击当前屏幕中的带指定文字的按钮。
参数<1>的名称为“文字”，这里输入要点击屏幕中的带某个字或词的按钮。
参数<+>点击该任务块内的加号将增加一个传入参数。
    参数<2>的名称为“屏幕 位置”，这里指定屏幕中按钮的位置，你可以不填<1>，直接指定位置；也可以指定文字也指定位置。
    参数<3>的名称为“超时(毫秒)”，这里输入等待时间(默认值0)，比如屏幕中一直没有符合条件的按钮出现就等待，直到有符合条件的按钮，如果到了超时时间就不会继续等待，会跳过此任务块。如果超时以前匹配到就点击按钮并结束超时。
    参数<4>的名称为“控件ID”，填写控件ID。
任务块示例：
    参数<1>：你好
    参数<2>：缺省，默认不填
    参数<3>：3000
执行后如果屏幕有“你好”，就会点击该按钮，否则就等待输入框出现，直到3000毫秒后终止执行。
需要注意的是：
    一、文字是模糊匹配：比如屏幕中某个按钮是“世你好界”，这时“你好”会被匹配到，就会点击这个“世你好界”按钮。
    二、点击按钮是多个匹配将从上到下、从左到右依次点击：比如屏幕中有两个按钮“世界你好”、“你好fv”，那么匹配“你好”时，这两个都会匹配到，将依次点击，如果页面点击后变化将终止点击否则继续点击下一个，如果你要指定屏幕位置就只会点击屏幕指定位置的按钮。
    三、屏幕位置指定后，就是包含这个坐标的按钮都会点击，如果文字也指定，那就会缩小这个点击的范围，也就是说文字与屏幕位置是两个条件，可以指定一个也可以指定两个。
    四、点击按钮执行前fv会隐藏一下所有悬浮窗，相当于fv默认手势的上滑隐藏悬浮窗动作。
```

### 获取控件ID

```
命令调用： 〈有返回值〉 获取控件ID - FV 命令支持库->屏幕动作
获取屏幕上所有控件ID，如果指定屏幕坐标只返回所有包含那个坐标点的控件ID。屏幕坐标可以传入文本“(123,456)”，也可以传入屏幕坐标类型变量。
```

### 输入文字

```
命令调用： 〈无返回值〉 输入文字 - FV 命令支持库->屏幕动作
向当前屏幕中的输入框输入文字。
参数<1>的名称为“文字”，这里输入要往屏幕中的输入框输入的文字。
参数<+>点击该任务块内的加号将增加一个传入参数。
    参数<2>的名称为“位置序号”，这里输入屏幕上输入框的编号，顺序是屏幕从上往下、从左往右，比如屏幕里一共有9个输入框，你要往第一个框输入文字，这里就填“1”，依次类推。
    参数<3>的名称为“超时(毫秒)”，这里输入等待时间(默认值0)，比如屏幕中一直没有输入框就等待，直到有输入框输入文字，如果到了超时时间就不会继续等待，会跳过此任务块。
    参数<4>的名称为“点击输入法结束按钮”，输入完文字是否点击输入法结束按钮，默认否。(选择是后，其实是点击输入法换行符)。
任务块示例：
    参数<1>：你好
    参数<2>：1
    参数<3>：3000
执行后如果有输入框，输入框会出现“你好”，否则就等待输入框出现，直到3000毫秒后终止执行。
```

### 手势

```
命令调用： 〈无返回值〉 手势 - FV 命令支持库->屏幕动作
录制一种手势动作，指定从屏幕某个位置滑动到某个位置，也可以实现点击按钮效果。
注意：需要安卓7及以上系统，打开“高级辅助权限”才能执行成功，否则会提示null执行失败。
```

### 屏幕点亮

```
命令调用： 〈无返回值〉 屏幕点亮 - FV 命令支持库->屏幕动作
打开系统屏幕，亮屏。
```

### 屏幕关闭

```
命令调用： 〈无返回值〉 屏幕关闭 - FV 命令支持库->屏幕动作
关闭系统屏幕，息屏。
```

### 获取屏幕文字

```
命令调用： 〈有返回值〉 获取屏幕文字 - FV 命令支持库->屏幕动作
获取当前屏幕文字。
返回值：
    列表类型，[字符串,字符串,字符串,……]
    例子：[中国移动 (72,12 - 214,59),……]
    返回文字、文字所在坐标。
注意：获取屏幕文字时fv会隐藏所有悬浮窗，相当于fv默认手势的上滑隐藏悬浮窗动作。
```

### 微信分享文字

```
命令调用： 〈无返回值〉 微信分享文字 - FV 命令支持库->屏幕动作
分享文字到微信。
参数<1>的名称为“默认 (当前结果)”，这里输入要分享的文字。
参数<2>的名称为“发送给朋友(com.tencent.mm.ui.tools.ShareImgUI)”，这里不要更改。
注意：该任务块添加时会同时添加录制动作任务块，两个任务块请不要分开。
    录制动作参数<1>请不要更改参数。
    录制动作参数<2>请不要更改参数。
```

### 显示等待对话框

```
命令调用： 〈无返回值〉 显示等待对话框 - FV 命令支持库->屏幕动作
显示一个全屏白色框，直到“关闭等待对话框”执行在关闭，否则会一直显示在屏幕上，点击屏幕会穿透等待对话框。
注意：执行此操作一定要与“关闭等待对话框”配套执行，否则屏幕上你只能看见一片白。
```

### 关闭等待对话框

```
命令调用： 〈无返回值〉 关闭等待对话框 - FV 命令支持库->屏幕动作
在“显示等待对话框”后关闭显示。
注意：与“显示等待对话框”配套执行。
```

## 设置

### 静音

```
命令调用： 〈无返回值〉 静音 - FV 命令支持库->设置
开启静音模式。
```

### 关闭静音

```
命令调用： 〈无返回值〉 关闭静音 - FV 命令支持库->设置
关闭静音模式。
```

### 设置音量

```
命令调用： 〈无返回值〉 设置音量 - FV 命令支持库->设置
获取系统五大音量当前值。
参数<1>的名称为“选择音量类型”，选择一种音量：闹铃、音乐、铃声、语音电话、通知。
参数<2>的名称为“音量”，输入0-15数值，数字越高音量越大。
```

### 获取音量

```
命令调用： 〈有返回值〉 获取音量 - FV 命令支持库->设置
获取系统五大音量当前值。
参数<1>的名称为“选择音量类型”，选择一种音量：闹铃、音乐、铃声、语音电话、通知。
返回值：
    0-15：返回选择的音量类型的音量值，数字类型。
```

### 自动旋转

```
命令调用： 〈无返回值〉 自动旋转 - FV 命令支持库->设置
打开系统屏幕的自动旋转。
```

### 关闭自动旋转

```
命令调用： 〈无返回值〉 关闭自动旋转 - FV 命令支持库->设置
关闭系统屏幕的自动旋转。
```

### 打开WIFI

```
命令调用： 〈无返回值〉 打开WIFI - FV 命令支持库->设置
打开WIFI。
```

### 关闭WIFI

```
命令调用： 〈无返回值〉 关闭WIFI - FV 命令支持库->设置
关闭WIFI。
```

### 获取WIFI状态

```
命令调用： 〈有返回值〉 获取WIFI状态 - FV 命令支持库->设置
获取WIFI状态。
返回值：
    0：关闭
    1：开启
```

### 获取WIFI名称

```
命令调用： 〈有返回值〉 获取WIFI名称 - FV 命令支持库->设置
获取WIFI名称。
返回值：
    <unknown ssid>：没有连接wifi。
    TP-LINK_XXXX：返回wifi名称。
```

### 打开蓝牙

```
命令调用： 〈无返回值〉 打开蓝牙 - FV 命令支持库->设置
开启蓝牙。
```

### 关闭蓝牙

```
命令调用： 〈无返回值〉 关闭蓝牙 - FV 命令支持库->设置
关闭蓝牙。
```

### 获取蓝牙状态

```
命令调用： 〈有返回值〉 获取蓝牙状态 - FV 命令支持库->设置
获取蓝牙是否开启
返回值：
    0：关闭
    1：开启
```

### 打开位置服务

```
命令调用： 〈无返回值〉 打开位置服务 - FV 命令支持库->设置
开启GPS(卫星定位)服务。
```

### 关闭位置服务

```
命令调用： 〈无返回值〉 关闭位置服务 - FV 命令支持库->设置
关闭GPS(卫星定位)服务。
```

### 获取GPS状态

```
命令调用： 〈有返回值〉 获取GPS状态 - FV 命令支持库->设置
获取GPS(卫星定位)是否开启
返回值：
    0：关闭
    1：开启
```

## 音乐

### 播放音乐

```
命令调用： 〈无返回值〉 播放音乐 - FV 命令支持库->音乐
播放指定音乐文件。
参数<1>的名称为“音乐”，点击参数即选择音乐文件。
参数<2>的名称为“应用”，点击参数即选择用来播放的音乐APP。
```

### 音乐 - 上一个

```
命令调用： 〈无返回值〉 音乐-上一个 - FV 命令支持库->音乐
播放上一曲，对当前使用的音乐APP起效。
```

### 音乐-下一个

```
命令调用： 〈无返回值〉 音乐-下一个 - FV 命令支持库->音乐
播放下一曲，对当前使用的音乐APP起效。
```

### 暂停/继续

```
命令调用： 〈无返回值〉 暂停/继续 - FV 命令支持库->音乐
播放/暂停，对当前使用的音乐APP起效。
```

### 停止

```
命令调用： 〈无返回值〉 停止 - FV 命令支持库->音乐
停止播放当前音乐，即退出当前播放音乐的应用。
```

## 状态

### 获取屏幕状态

```
命令调用： 〈有返回值〉 获取屏幕状态 - FV 命令支持库->状态
检测屏幕处于亮屏状态还是息屏状态。
返回值：
    0：息屏
    1：亮屏
```

### 获取锁屏状态

```
命令调用： 〈有返回值〉 获取锁屏状态 - FV 命令支持库->状态
检测手机是否已锁屏。
返回值：
    0：未锁屏
    1：已锁屏
```

### 获取飞行模式状态

```
命令调用： 〈有返回值〉 获取飞行模式状态 - FV 命令支持库->状态
检测手机是否已开启飞行模式。
返回值：
    0：未开启
    1：已开启
```

### 获取电池状态

```
命令调用： 〈有返回值〉 获取电池状态 - FV 命令支持库->状态
返回手机电量数值。
```

### 获取NFC状态

```
命令调用： 〈有返回值〉 获取NFC状态 - FV 命令支持库->状态
检测手机NFC功能是否打开。
返回值：
    0：否
    1：是
```

## 显示

### 消息对话框

```
命令调用： 〈无返回值〉 消息对话框 - FV 命令支持库->显示
显示消息对话框。
参数<1>的名称为“默认 (当前结果)”，点击参数即输入提示消息。
```

### 提示语

```
命令调用： 〈无返回值〉 提示语 - FV 命令支持库->显示
在屏幕下半区域显示提示语。
```

### 列表对话框

```
命令调用： 〈有返回值〉 列表对话框 - FV 命令支持库->显示
显示列表对话框。
参数<1>的名称为“内容”，输入列表类型或者哈希表类型。
输入列表类型会显示列表中每个元素，依次显示。
输入哈希表类型会显示哈希表中的键名称，显示顺序为乱序。
返回值为列表中的某个元素，或者哈希表中的元素(键:值)。
```

### 确定对话框

```
命令调用： 〈有返回值〉 确定对话框 - FV 命令支持库->显示
显示确定对话框。
参数<1>的名称为“消息”，点击参数即输入提示消息。
返回值为“真”与“假”，也就是true与false。
```

### 输入数据对话框

```
命令调用： 〈有返回值〉 输入数据对话框 - FV 命令支持库->显示
可以指定输入类型，返回值为选定类型的输入值。
参数<1>的名称为“数据类型”，点击参数即可添加数据类型，
    数据类型  返回值示例
    文字  文本
    数字  123456
    位置  [36.1234560,120.1234560]
    时间  [年,月,天,小时,分]
    应用  [包名,名称,版本,大小,应用 文件]
    文件  [路径,名称,大小,是文件夹]
    图片  [路径,名称,大小,是文件夹]
    音乐  [路径,名称,大小,是文件夹]
    视频  [路径,名称,大小,是文件夹]
    哈希表  {键:值,aaaa:2222,bbbb:1111}
参数<+>点击会加入输入提示。
    参数<2>的名称为“输入提示”，
返回值如果没选定，点的取消，会返回“空”，也就是null空对象类型。
```
