系统模块

分类:提示函数

函数:sys.dialog() 对话框提示

原函数名 : notifyMessage
函数说明 : 以文字提示框的方式通知用户
函数方法 : sys.dialog(值 any, 显示时间 ms?);
返回值 : 无

参数类型说明必填
anyany在屏幕上显示的提示文字必填
msnumber提示多长时间,单位:毫秒非必填,默认值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?);
返回值 : 无

参数类型说明必填
anyany提示信息,将在设备屏幕上以悬浮层形式显示必填
msnumber提示多长时间,单位:毫秒非必填,默认值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);
返回值 : 无

参数类型说明
msnumber震动时间,单位:毫秒

示例:

sys.vibrate(1000); -- 让设备震动1秒

注意事项:

使用此函数需在移动设备设置里打开震动选项。

函数:sys.voice() 声音提示

原函数名 : notifyVoice
函数说明 : 以播放音频的方式通知用户
函数方法 : sys.voice(音频路径 path);
返回值 : 无

参数类型说明
pathstring音频文件路径及名字

示例:

sys.voice("/var/touchelf/a.mp3"); -- 播放路径为"/var/touchelf/a.mp3"的音频
sys.sleep(5000);

注意事项:

使用此函数需在后面加上延时函数,延时5000即播放音频5秒钟。

分类:日志函数

函数:sys.log() 日志

原函数名 : logDebug
函数说明 : 输出调试信息到系统日志
函数方法 : sys.log(值 any);
返回值 : 无

参数类型说明
anyany输出到日志文件的内容

示例:

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);
返回值 : 无

参数类型说明
urlstring需要打开的目标链接

示例
调用系统浏览器打开触摸精灵官方网站

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 界面

注意事项:

  1. 默认浏览器为 Safari。
  2. 目标链接必须以 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

返回值类型说明
deviceIDstring返回的设备串号

示例

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

参数类型说明
cmdstring命令
返回值类型说明
retstring运行结果

注销示例:

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);
返回值 : 无

参数类型说明
msnumber脚本暂停执行的时间,单位为毫秒

示例:

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);
返回值 : 无

参数类型说明
textstring要粘贴的文字, 中英文都支持

示例

sys.clip.copy("你好") -- 复制字符串“你好”到系统剪贴板

注意事项:

复制文字到系统剪贴板会覆盖以前复制的内容。

函数:sys.clip.text() 剪贴板文字

原函数名 : clipText
函数说明 : 获取系统剪贴板中之前复制或剪贴的文字内容。
函数方法 : sys.clip.text();
返回值 : 文字 text

返回值类型说明
textstring剪贴板内的文字

示例

text = sys.clip.text()   -- 将之前复制或剪贴的文字读取到变量text中
sys.input(text)     --在输入框中输入获取到的字符串

分类:相册函数

函数:sys.album.addImage 保存图片至相册

原函数名 : saveImageToAlbum
函数说明 : 将图片存入相册
函数方法 : sys.album.addImage(路径 path);
返回值 : 无

参数类型说明
pathstring需要写入系统相册的图片绝对路径

示例

sys.album.addImage("/var/touchelf/scripts/1.jpg");

注意事项:

图片的格式可为 bmp, jpg, png。

函数:sys.album.addVideo 保存视频至相册

原函数名 : saveVideoToAlbum
函数说明 : 将视频存入相册
函数方法 : sys.album.addVideo(路径 path);
返回值 : 无
支持版本 : V3.3.8 以上

参数类型说明
pathstring需要写入系统相册的视频路径,支持绝对路径

示例

sys.album.addVideo("/var/touchelf/scripts/1.mp4");

注意事项:

视频的格式可为 mp4, avi, mov。

分类:通讯录函数

函数:sys.contact.add 通讯录添加

原函数名 : addContactToAB
函数说明 : 将联系人添加到通讯录
函数方法 : sys.contact.add(姓 last,名 first,电话号码 phone);
返回值 : 无

参数类型说明
laststring联系人姓
firststring联系人名
phonestring联系人电话号码

示例

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

返回值类型说明
statusboolean当前VPN开关状态

示例

if sys.vpn.status() then
    sys.dialog("VPN处于开启状态")
else
    sys.dialog("VPN处于关闭状态")
end

函数:sys.vpn.setStatus() VPN状态设置

原函数名 : setVPNStatus
函数说明 : 设置VPN开关状态
函数方法 : sys.vpn.setStatus(是否开启 on);
返回值 : 无

参数类型说明
onbooleanVPN开关状态

示例

sys.vpn.setStatus(true) -- 开启VPN
sys.vpn.setStatus(false) -- 关闭VPN

分类:WIFI函数

函数:sys.wifi.status() WIFI状态

函数说明 : 获取WIFI开关状态
函数方法 : sys.wifi.status();
返回值 : 是否开启 status

返回值类型说明
statusboolean当前WIFI开关状态

示例

if sys.wifi.status() then
    sys.dialog("WIFI处于开启状态")
else
    sys.dialog("WIFI处于关闭状态")
end

函数:sys.wifi.setStatus() WIFI状态设置

函数说明 : 设置WIFI开关状态
函数方法 : sys.wifi.setStatus(是否开启 on);
返回值 : 无

参数类型说明
onbooleanWIFI开关状态

示例

sys.wifi.setStatus(true) -- 开启WIFI
sys.wifi.setStatus(false) -- 关闭WIFI

分类:飞行模式函数

函数:sys.airplane.status() 飞行模式状态

原函数名 : getAirplaneMode
函数说明 : 获取飞行模式开关状态
函数方法 : sys.airplane.status();
返回值 : 是否开启 status

返回值类型说明
statusboolean当前飞行模式开关状态

示例

if sys.airplane.status() then
    sys.dialog("飞行模式处于开启状态")
else
    sys.dialog("飞行模式处于关闭状态")
end

函数:sys.airplane.setStatus() 飞行模式状态设置

原函数名 : setAirplaneMode
函数说明 : 设置飞行模式开关状态
函数方法 : sys.airplane.setStatus(是否开启 on);
返回值 : 无

参数类型说明
onboolean飞行模式开关状态

示例

sys.airplane.setStatus(true) -- 开启飞行模式
sys.airplane.setStatus(false) -- 关闭飞行模式

分类:锁屏函数

函数:sys.lock.status() 是否锁屏

原函数名 : deviceIsLock
函数说明 : 判断当前设备的屏幕锁定状态。
函数方法 : sys.lock.status();
返回值 : 是否锁屏 flag

返回值类型说明
flagbooleantrue 为锁定 false 为未锁定

示例:

function main()
    if sys.lock.status() then 
        sys.toast("屏幕已锁定")
    else
        sys.toast("屏幕未锁定")
    end
end

函数:sys.lock.unlock() 解锁设备

原函数名 : deviceUnlock
函数说明 : 解除当前设备屏幕锁定状态。
函数方法 : sys.lock.unlock(密码 pass);
返回值 : 无

参数类型说明
passstring锁屏密码

示例:有锁屏密码

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以上

返回值类型说明
numnumber屏幕亮度,范围0-100

示例:

function main()
    sys.log(sys.brightness.get())
end

函数:sys.brightness.set() 设置屏幕亮度

函数说明 : 设置当前设备的屏幕亮度。
函数方法 : sys.brightness.set(亮度 num);
返回值 : 无
适用版本: V6.2.3以上

参数类型说明
numnumber屏幕亮度,范围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以上

返回值类型说明
statusboolean当前蜂窝网络状态

示例

if sys.cellular.status() then
    sys.dialog("蜂窝网络处于开启状态")
else
    sys.dialog("蜂窝网络处于关闭状态")
end

函数:sys.cellular.setStatus() 设置蜂窝网络状态

函数说明 : 设置蜂窝网络开关状态
函数方法 : sys.cellular.setStatus(是否开启 on);
返回值 : 无

参数类型说明
onboolean蜂窝网络开关状态

示例

sys.cellular.setStatus(true) -- 开启蜂窝网络
sys.cellular.setStatus(false) -- 关闭蜂窝网络

分类:蓝牙状态函数

函数:sys.bluetooth.status() 获取蓝牙状态

函数说明 : 获取当前设备的蓝牙状态。
函数方法 : sys.bluetooth.status();
返回值 : 是否开启 status
适用版本: V6.9.0以上

返回值类型说明
statusboolean当前蓝牙状态

示例

if sys.bluetooth.status() then
    sys.dialog("蓝牙处于开启状态")
else
    sys.dialog("蓝牙处于关闭状态")
end

函数:sys.bluetooth.setStatus() 设置蓝牙状态

函数说明 : 设置蓝牙开关状态
函数方法 : sys.bluetooth.setStatus(是否开启 on);
返回值 : 无

参数类型说明
onboolean蓝牙开关状态

示例

sys.bluetooth.setStatus(true) -- 开启蓝牙
sys.bluetooth.setStatus(false) -- 关闭蓝牙

分类:辅助触控函数

函数:sys.assistiveTouch.status() 获取辅助触控状态

函数说明 : 获取当前设备的辅助触控状态。
函数方法 : sys.assistiveTouch.status();
返回值 : 是否开启 status
适用版本: V6.9.0以上

返回值类型说明
statusboolean当前辅助触控状态

示例

if sys.assistiveTouch.status() then
    sys.dialog("辅助触控处于开启状态")
else
    sys.dialog("辅助触控处于关闭状态")
end

函数:sys.assistiveTouch.setStatus() 设置辅助触控状态

函数说明 : 设置辅助触控开关状态
函数方法 : sys.assistiveTouch.setStatus(是否开启 on);
返回值 : 无

参数类型说明
onboolean辅助触控开关状态

示例

sys.assistiveTouch.setStatus(true) -- 开启辅助触控
sys.assistiveTouch.setStatus(false) -- 关闭辅助触控