准备
现在利用刚刚的例子来实战下, 最好配合VSCode插件来使用。
- 新建全局指令
设置正则信息@{city}的?天气(怎么样)?
, 脚本语言为lua,
1
2
3
4
5
6
-- 仅为示例,并无实现
city = argMap['city']
speak('正在获取' ..city ..'的天气')
print(city) -- 将匹配的结果 打印到VSCode控制台
toast(city) -- 将匹配的结果 在手机端显示消息
保存。
测试指令
- 可以通过VSCode插件传递命令
北京天气
(图未更新) - 唤醒后使用语音输入
北京天气
.(图未更新)
获取命令参数
命令参数存放于全局变量argMap
中。
脚本编写
到了这里, 你可以学习javascript,或者lua, 由于javascript更为常见,建议学习前者(网页编程部分无需学习)。
这里推荐一些网站学习基础语法 JavaScript 教程
学习基础语法函数相关后, 可以阅读脚本API, 来了解脚本在安卓端做的事情。
另外, 目前APP内指令大部分都开源在Github, 欢迎访问
脚本分享
当指令能够解决某些实际问题时, 你可以将它共享到云端, 审核后,每个人都可获取到这个技能.
VSCode代码测试注意事项
如果你看过App内指令脚本,一般在开头会发现有如下格式:
1
2
3
4
5
6
7
8
if runtime.DEBUG then -- 如果是在测试环境下,argMap是空的
argMap['city'] = {'北京'} -- 假设参数
runtime.command = '北京天气' -- 用户命令
-- 如果是应用内操作,可能还需要加上
-- waitForApp(system.openAppByWord("支付宝", true)) -- 等待打开应用, 使用应用名或包名
end
由于应用内指令在执行脚本前可自动开启应用,在脚本中无需再执行打开应用的操作。
此外,新建应用内指令可选择是否自动开启应用
,开满足自己的指令需求。
继续阅读: 视图搜索与操作示例