系统模块
分类:提示函数
函数:sys.dialog() 对话框提示
原函数名 : notifyMessage
函数说明 : 以文字提示框的方式通知用户
函数方法 : sys.dialog(值 any, 显示时间 ms?);
返回值 : 无
参数 | 类型 | 说明 | 必填 |
---|---|---|---|
any | any | 在屏幕上显示的提示文字 | 必填 |
ms | number | 提示多长时间,单位:毫秒 | 非必填,默认值1000 |
示例:
sys.dialog("Hello World"); -- -- 在屏幕上显示"hello"显示1秒
sys.dialog("Hello World",3000); -- -- 在屏幕上显示"hello"显示3秒
sys.dialog("Hello World \n"..os.date("%M/%D/%Y-%H:%M:%S"),5000); -- -- 在屏幕上显示"hello"显示5秒,并换行显示当前时间
注意事项:
1,当提示框显示时会影响当前屏幕取色,请合理使用该函数
2,示例里面使用的 "n" 为换行,".."为字符串连接符号,"os.date()" 为时间函数,时间函数内的"%M/%D/%Y-%H:%M:%S"为时间显示的格式。
函数:sys.toast() 吐司提示
原函数名 : toast
函数说明 : 在屏幕底部以悬浮层形式显示字符串信息
函数方法 : sys.toast(值 any, 显示时间 ms?);
返回值 : 无
参数 | 类型 | 说明 | 必填 |
---|---|---|---|
any | any | 提示信息,将在设备屏幕上以悬浮层形式显示 | 必填 |
ms | number | 提示多长时间,单位:毫秒 | 非必填,默认值1000 |
示例:
sys.toast("Hello World"); -- -- 在屏幕上显示"hello"显示1秒
sys.toast("Hello World",3000); -- -- 在屏幕上显示"hello"显示3秒
sys.toast("Hello World \n"..os.date("%M/%D/%Y-%H:%M:%S"),5000); -- -- 在屏幕上显示"hello"显示5秒,并换行显示当前时间
注意事项:
1,当悬浮层显示时会影响当前屏幕取色,请合理使用该函数
2,示例里面使用的 "n" 为换行,".."为字符串连接符号,"os.date()" 为时间函数,时间函数内的"%M/%D/%Y-%H:%M:%S"为时间显示的格式。
3,显示时间并不会影响脚本运行,例如设置显示时间为60秒,脚本并不会等60秒后在继续运行。
函数:sys.vibrate() 震动提示
原函数名 : notifyVibrate
函数说明 : 以震动方式通知用户
函数方法 : sys.vibrate(震动时间 ms);
返回值 : 无
参数 | 类型 | 说明 |
---|---|---|
ms | number | 震动时间,单位:毫秒 |
示例:
sys.vibrate(1000); -- 让设备震动1秒
注意事项:
使用此函数需在移动设备设置里打开震动选项。
函数:sys.voice() 声音提示
原函数名 : notifyVoice
函数说明 : 以播放音频的方式通知用户
函数方法 : sys.voice(音频路径 path);
返回值 : 无
参数 | 类型 | 说明 |
---|---|---|
path | string | 音频文件路径及名字 |
示例:
sys.voice("/var/touchelf/a.mp3"); -- 播放路径为"/var/touchelf/a.mp3"的音频
sys.sleep(5000);
注意事项:
使用此函数需在后面加上延时函数,延时5000即播放音频5秒钟。
分类:日志函数
函数:sys.log() 日志
原函数名 : logDebug
函数说明 : 输出调试信息到系统日志
函数方法 : sys.log(值 any);
返回值 : 无
参数 | 类型 | 说明 |
---|---|---|
any | any | 输出到日志文件的内容 |
示例:
sys.log("hello"); -- 输出"hello"到系统日志
注意事项:
1.日志文件所在目录目录:
1.1 安卓 android:/mnt/sdcard/touchelf/var/log/log.txt
1.2 苹果 ios:/var/touchelf/var/log/log.txt
2.可以在“触摸精灵->设置->日志”中查看
使用代码清空日志
function main()
http = require("socket.http")
http.request{
url = "http://127.0.0.1:8000/api/system/log",
method = "DELETE"
}
end
分类:输入函数
函数:sys.input() 文字输入
原函数名 : inputText
函数说明 : 在文本框内输入文本。
函数方法 : sys.input(文本型 string);
返回值 : 无
参数 | 类型 | 说明 |
---|---|---|
string | 文本型 | 要输入的字符串, 其中b字符可用于退格删除 |
示例
sys.input("你好Hello"); -- 在当前选中的文字输入框中输入字符串"你好Hello"
sys.input("\b\b\b\b\b"); -- 退格删除5个字符
注意事项:
1,使用该函数前,先点击输入框,例如点击用户名,再执行该函数。
2,建议切换到系统输入法再使用该函数。
3,b字符可用于删除一个字符。
分类:系统函数
函数:sys.openUrl() 打开网络地址
原函数名 : openUrl
函数说明 : 打开网络地址
函数方法 : sys.openUrl(地址 url);
返回值 : 无
参数 | 类型 | 说明 |
---|---|---|
url | string | 需要打开的目标链接 |
示例
调用系统浏览器打开触摸精灵官方网站
sys.openUrl("http://www.touchelf.com");
访问系统设置页面
sys.openUrl("prefs:root=WIFI"); --打开 wifi 界面
sys.openUrl("prefs:root=LOCATION_SERVICES"); --打开定位服务界面
sys.openUrl("prefs:root=General&path=VPN"); --打开 VPN 界面
注意事项:
- 默认浏览器为 Safari。
- 目标链接必须以 http:// 开头,一些特殊协议也是支持的,如:mailto://, sms://, tel://, ifile://, cydia:// 等等。
附表:可用的系统设置页面
prefs:root=General&path=About --关于本机页面
prefs:root=General&path=ACCESSIBILITY --辅助功能页面
prefs:root=AIRPLANE_MODE --飞行模式
prefs:root=General&path=AUTOLOCK --自动锁定页面
prefs:root=General&path=USAGE/CELLULAR_USAGE --用量页面
prefs:root=Brightness --亮度页面
prefs:root=Bluetooth --蓝牙页面
prefs:root=General&path=DATE_AND_TIME --日期与时间页面
prefs:root=FACETIME --FACETIME页面
prefs:root=General --通用页面
prefs:root=General&path=Keyboard --键盘页面
prefs:root=CASTLE --iCloud页面
prefs:root=CASTLE&path=STORAGE_AND_BACKUP --iCloud存储空间页面
prefs:root=General&path=INTERNATIONAL --语音与地区页面
prefs:root=LOCATION_SERVICES --定位服务页面
prefs:root=ACCOUNT_SETTINGS --账号设置页面
prefs:root=MUSIC --音乐设置页面
prefs:root=MUSIC&path=EQ --音乐设置EQ调节页面
prefs:root=MUSIC&path=VolumeLimit --音乐设置界面音量页面
prefs:root=General --通用页面
prefs:root=NIKE_PLUS_IPOD --NIKE页面
prefs:root=NOTES --备忘录页面
prefs:root=NOTIFICATIONS_ID --通知页面
prefs:root=Phone --电话页面
prefs:root=Photos --照片与相机页面
prefs:root=General&path=ManagedConfigurationList --描述文件页面
prefs:root=General&path=Reset --还原页面
prefs:root=Sounds&path=Ringtone --电话铃声页面
prefs:root=Safari --Safari设置页面
prefs:root=General&path=Assistant
prefs:root=Sounds --声音页面
prefs:root=General&path=SOFTWARE_UPDATE_LINK --软件更新页面
prefs:root=STORE --iTunes Store页面
prefs:root=TWITTER --TWITTER页面
prefs:root=FACEBOOK --FACEBOOK页面
prefs:root=General&path=USAGE --用量页面
prefs:root=VIDEO --视频页面
prefs:root=Wallpaper --墙纸页面
prefs:root=WIFI --WIFI页面
prefs:root=INTERNET_TETHERING --设置页面
函数:sys.deviceID() 设备号
原函数名 : getDeviceID
函数说明 : 获取设备串号。
函数方法 : sys.deviceID();
返回值 : 设备号 deviceID
返回值 | 类型 | 说明 |
---|---|---|
deviceID | string | 返回的设备串号 |
示例
deviceID = sys.deviceID(); -- 将设备ID保存到deviceID变量中
-------------------------授权一台设备-------------------------
if deviceID == "Fd452dg2421" then
sys.dialog("当前设备已授权");
else
sys.dialog("当前设备未授权");
script.stop() --结束脚本
end
-------------------------授权多台设备---------------------------------
local deviceID_flag = false; --定义当前设备未授权
deviceID_arr = {"F123456","F1234567","F12345678"};--可使用设备数组
for i = 1,#deviceID_arr do --循环数组长度
if deviceID == deviceID_arr[i] then--判断当前设备序列号是否和设备数组中的相同
deviceID_flag = true;--定义当前设备已授权
break; --跳出循环
end
end
if deviceID_flag then
sys.dialog("当前设备已授权");
else
sys.dialog("当前设备未授权");
script.stop(); --结束脚本
end
注意事项:
1,使用该函数 苹果设备返回的是序列号,安卓设备返回的是mac。
2,script.stop() 为结束脚本函数。
函数:sys.exec() 运行系统命令
函数说明 : 运行系统命令
函数方法 : sys.exec(命令 cmd);
返回值 : 运行结果 string
参数 | 类型 | 说明 |
---|---|---|
cmd | string | 命令 |
返回值 | 类型 | 说明 |
---|---|---|
ret | string | 运行结果 |
注销示例:
sys.exec("killall -9 SpringBoard")
--或
sys.exec("killall -9 backboardd")
查找触摸脚本文件夹内的lua文件:
ret = sys.exec("find /var/touchelf/scripts/*.lua -prune");
sys.log(ret);
函数:sys.respring() 注销
函数说明 : 注销系统
函数方法 : sys.respring();
参数 : 无
返回值 : 无
注销示例:
sys.respring();
函数:sys.sleep() 延时
原函数名 : mSleep
函数说明 : 进行毫秒级别延迟
函数方法 : sys.sleep(时间 ms);
返回值 : 无
参数 | 类型 | 说明 |
---|---|---|
ms | number | 脚本暂停执行的时间,单位为毫秒 |
示例:
sys.sleep(1000); -- 延迟1秒
sys.sleep(60*1000); -- 延迟1分钟
sys.sleep(60*60*1000); -- 延迟1小时
sys.sleep(24*60*60*1000); -- 延迟1天
sys.sleep(365*24*60*60*1000); -- 延迟1年
用在点击函数中可实现长按不放的效果
touch.down(0,100,200); --按下坐标为100,200的点
sys.sleep(2000); --延时 2 秒
touch.up(0); --抬起
注意事项:
毫秒与秒换算方式为 1 秒 (s) = 1000 毫秒 (ms)
分类:剪贴板函数
函数:sys.clip.copy() 文字复制
原函数名 : copyText
函数说明 : 复制文字到系统剪贴板, 以便后续粘贴。
函数方法 : sys.clip.copy(文字 text);
返回值 : 无
参数 | 类型 | 说明 |
---|---|---|
text | string | 要粘贴的文字, 中英文都支持 |
示例
sys.clip.copy("你好") -- 复制字符串“你好”到系统剪贴板
注意事项:
复制文字到系统剪贴板会覆盖以前复制的内容。
函数:sys.clip.text() 剪贴板文字
原函数名 : clipText
函数说明 : 获取系统剪贴板中之前复制或剪贴的文字内容。
函数方法 : sys.clip.text();
返回值 : 文字 text
返回值 | 类型 | 说明 |
---|---|---|
text | string | 剪贴板内的文字 |
示例
text = sys.clip.text() -- 将之前复制或剪贴的文字读取到变量text中
sys.input(text) --在输入框中输入获取到的字符串
分类:相册函数
函数:sys.album.addImage 保存图片至相册
原函数名 : saveImageToAlbum
函数说明 : 将图片存入相册
函数方法 : sys.album.addImage(路径 path);
返回值 : 无
参数 | 类型 | 说明 |
---|---|---|
path | string | 需要写入系统相册的图片绝对路径 |
示例
sys.album.addImage("/var/touchelf/scripts/1.jpg");
注意事项:
图片的格式可为 bmp, jpg, png。
函数:sys.album.addVideo 保存视频至相册
原函数名 : saveVideoToAlbum
函数说明 : 将视频存入相册
函数方法 : sys.album.addVideo(路径 path);
返回值 : 无
支持版本 : V3.3.8 以上
参数 | 类型 | 说明 |
---|---|---|
path | string | 需要写入系统相册的视频路径,支持绝对路径 |
示例
sys.album.addVideo("/var/touchelf/scripts/1.mp4");
注意事项:
视频的格式可为 mp4, avi, mov。
分类:通讯录函数
函数:sys.contact.add 通讯录添加
原函数名 : addContactToAB
函数说明 : 将联系人添加到通讯录
函数方法 : sys.contact.add(姓 last,名 first,电话号码 phone);
返回值 : 无
参数 | 类型 | 说明 |
---|---|---|
last | string | 联系人姓 |
first | string | 联系人名 |
phone | string | 联系人电话号码 |
示例
sys.contact.add("张","小明","13511112222");
函数:sys.contact.clear 通讯录清空
原函数名 : removeAllContactsFromAB
函数说明 : 清空通讯录
函数方法 : sys.contact.clear();
返回值 : 无
示例
sys.contact.clear();
分类:VPN函数
函数:sys.vpn.status() VPN状态
原函数名 : getVPNStatus
函数说明 : 获取VPN开关状态
函数方法 : sys.vpn.status();
返回值 : 是否开启 status
返回值 | 类型 | 说明 |
---|---|---|
status | boolean | 当前VPN开关状态 |
示例
if sys.vpn.status() then
sys.dialog("VPN处于开启状态")
else
sys.dialog("VPN处于关闭状态")
end
函数:sys.vpn.setStatus() VPN状态设置
原函数名 : setVPNStatus
函数说明 : 设置VPN开关状态
函数方法 : sys.vpn.setStatus(是否开启 on);
返回值 : 无
参数 | 类型 | 说明 |
---|---|---|
on | boolean | VPN开关状态 |
示例
sys.vpn.setStatus(true) -- 开启VPN
sys.vpn.setStatus(false) -- 关闭VPN
分类:WIFI函数
函数:sys.wifi.status() WIFI状态
函数说明 : 获取WIFI开关状态
函数方法 : sys.wifi.status();
返回值 : 是否开启 status
返回值 | 类型 | 说明 |
---|---|---|
status | boolean | 当前WIFI开关状态 |
示例
if sys.wifi.status() then
sys.dialog("WIFI处于开启状态")
else
sys.dialog("WIFI处于关闭状态")
end
函数:sys.wifi.setStatus() WIFI状态设置
函数说明 : 设置WIFI开关状态
函数方法 : sys.wifi.setStatus(是否开启 on);
返回值 : 无
参数 | 类型 | 说明 |
---|---|---|
on | boolean | WIFI开关状态 |
示例
sys.wifi.setStatus(true) -- 开启WIFI
sys.wifi.setStatus(false) -- 关闭WIFI
分类:飞行模式函数
函数:sys.airplane.status() 飞行模式状态
原函数名 : getAirplaneMode
函数说明 : 获取飞行模式开关状态
函数方法 : sys.airplane.status();
返回值 : 是否开启 status
返回值 | 类型 | 说明 |
---|---|---|
status | boolean | 当前飞行模式开关状态 |
示例
if sys.airplane.status() then
sys.dialog("飞行模式处于开启状态")
else
sys.dialog("飞行模式处于关闭状态")
end
函数:sys.airplane.setStatus() 飞行模式状态设置
原函数名 : setAirplaneMode
函数说明 : 设置飞行模式开关状态
函数方法 : sys.airplane.setStatus(是否开启 on);
返回值 : 无
参数 | 类型 | 说明 |
---|---|---|
on | boolean | 飞行模式开关状态 |
示例
sys.airplane.setStatus(true) -- 开启飞行模式
sys.airplane.setStatus(false) -- 关闭飞行模式
分类:锁屏函数
函数:sys.lock.status() 是否锁屏
原函数名 : deviceIsLock
函数说明 : 判断当前设备的屏幕锁定状态。
函数方法 : sys.lock.status();
返回值 : 是否锁屏 flag
返回值 | 类型 | 说明 |
---|---|---|
flag | boolean | true 为锁定 false 为未锁定 |
示例:
function main()
if sys.lock.status() then
sys.toast("屏幕已锁定")
else
sys.toast("屏幕未锁定")
end
end
函数:sys.lock.unlock() 解锁设备
原函数名 : deviceUnlock
函数说明 : 解除当前设备屏幕锁定状态。
函数方法 : sys.lock.unlock(密码 pass);
返回值 : 无
参数 | 类型 | 说明 |
---|---|---|
pass | string | 锁屏密码 |
示例:有锁屏密码
function main()
if sys.lock.status() then
sys.lock.unlock("password")
else
sys.toast("屏幕未锁定")
end
end
示例:无锁屏密码
function main()
if sys.lock.status() then
sys.lock.unlock("")
else
sys.toast("屏幕未锁定")
end
end
android系统锁屏密码参数无效
分类:屏幕亮度函数
函数:sys.brightness.get() 获取屏幕亮度
函数说明 : 获取当前设备的屏幕亮度。
函数方法 : sys.brightness.get();
返回值 : 亮度 num
适用版本: V6.2.3以上
返回值 | 类型 | 说明 |
---|---|---|
num | number | 屏幕亮度,范围0-100 |
示例:
function main()
sys.log(sys.brightness.get())
end
函数:sys.brightness.set() 设置屏幕亮度
函数说明 : 设置当前设备的屏幕亮度。
函数方法 : sys.brightness.set(亮度 num);
返回值 : 无
适用版本: V6.2.3以上
参数 | 类型 | 说明 |
---|---|---|
num | number | 屏幕亮度,范围0-100 |
示例:
function main()
sys.brightness.set(80)
end
function main()
if sys.brightness.get() < 50 then
sys.brightness.set(80)
end
end
分类:蜂窝网络函数
函数:sys.cellular.status() 获取蜂窝网络状态
函数说明 : 获取当前设备的蜂窝网络状态。
函数方法 : sys.cellular.status();
返回值 : 是否开启 status
适用版本: V6.9.0以上
返回值 | 类型 | 说明 |
---|---|---|
status | boolean | 当前蜂窝网络状态 |
示例
if sys.cellular.status() then
sys.dialog("蜂窝网络处于开启状态")
else
sys.dialog("蜂窝网络处于关闭状态")
end
函数:sys.cellular.setStatus() 设置蜂窝网络状态
函数说明 : 设置蜂窝网络开关状态
函数方法 : sys.cellular.setStatus(是否开启 on);
返回值 : 无
参数 | 类型 | 说明 |
---|---|---|
on | boolean | 蜂窝网络开关状态 |
示例
sys.cellular.setStatus(true) -- 开启蜂窝网络
sys.cellular.setStatus(false) -- 关闭蜂窝网络
分类:蓝牙状态函数
函数:sys.bluetooth.status() 获取蓝牙状态
函数说明 : 获取当前设备的蓝牙状态。
函数方法 : sys.bluetooth.status();
返回值 : 是否开启 status
适用版本: V6.9.0以上
返回值 | 类型 | 说明 |
---|---|---|
status | boolean | 当前蓝牙状态 |
示例
if sys.bluetooth.status() then
sys.dialog("蓝牙处于开启状态")
else
sys.dialog("蓝牙处于关闭状态")
end
函数:sys.bluetooth.setStatus() 设置蓝牙状态
函数说明 : 设置蓝牙开关状态
函数方法 : sys.bluetooth.setStatus(是否开启 on);
返回值 : 无
参数 | 类型 | 说明 |
---|---|---|
on | boolean | 蓝牙开关状态 |
示例
sys.bluetooth.setStatus(true) -- 开启蓝牙
sys.bluetooth.setStatus(false) -- 关闭蓝牙
分类:辅助触控函数
函数:sys.assistiveTouch.status() 获取辅助触控状态
函数说明 : 获取当前设备的辅助触控状态。
函数方法 : sys.assistiveTouch.status();
返回值 : 是否开启 status
适用版本: V6.9.0以上
返回值 | 类型 | 说明 |
---|---|---|
status | boolean | 当前辅助触控状态 |
示例
if sys.assistiveTouch.status() then
sys.dialog("辅助触控处于开启状态")
else
sys.dialog("辅助触控处于关闭状态")
end
函数:sys.assistiveTouch.setStatus() 设置辅助触控状态
函数说明 : 设置辅助触控开关状态
函数方法 : sys.assistiveTouch.setStatus(是否开启 on);
返回值 : 无
参数 | 类型 | 说明 |
---|---|---|
on | boolean | 辅助触控开关状态 |
示例
sys.assistiveTouch.setStatus(true) -- 开启辅助触控
sys.assistiveTouch.setStatus(false) -- 关闭辅助触控