设备信息函数
函数:getWorkingDirectory() 获取当前脚本目录.
函数说明 : 获取当前脚本目录。
函数方法 : getWorkingDirectory();
返回值 : 文本型 path
支持版本 : 4.0.0 以上
返回值 | 类型 | 说明 |
---|---|---|
path | 文本型 | 返回脚本当前路径 |
由于项目打包后运行时会在临时目录运行,所以加载项目内的资源时需要使用此函数获取当前脚本运行目录.
示例
function main()
wd = getWorkingDirectory()
package.path = package.path .. ";"..wd.."/lib/?.lua"
package.path = package.path .. ";"..wd.."/lib/?.e3"
a = require "a"
notifyMessage(wd,2000);
a.foo()
end
函数:getScreenResolution() 获取当前屏幕分辨率
函数说明 : 获取当前屏幕分辨率。
函数方法 : getScreenResolution();
返回值 : 整数型 width,height
返回值 | 类型 | 说明 |
---|---|---|
width | 整数型 | 获取到的当前屏幕宽度 |
height | 整数型 | 获取到的当前屏幕高度 |
示例
width, height = getScreenResolution(); -- 将屏幕宽度和高度分别保存在变量w、h中
notifyMessage(string.format("%d,%d\n", width, height)); -- 将宽度和高度用提示框显示到屏幕上
--脚本判断使用的机器是否是iphone5
if width == 640 and height == 1136 then
notifyMessage("当前设备为iphone5")
else
notifyMessage("请在iphone5上使用本程序")
end
函数:getScreenColorBits() 获取当前屏幕色彩位数
函数说明 : 获取当前屏幕色彩位数。
函数方法 : getScreenColorBits();
返回值 : 整数型 color
返回值 | 类型 | 说明 |
---|---|---|
color | 整数型 | 色彩位数 |
示例
color = getScreenColorBits(); -- 将屏幕色彩位数保存在变量color中
notifyMessage(string.format("%d\n", color)); -- 将色彩位数用提示框显示到屏幕上
函数:getDeviceID() 获取设备串号
函数说明 : 获取设备串号。
函数方法 : getDeviceID();
返回值 : 文本型 deviceID
返回值 | 类型 | 说明 |
---|---|---|
deviceID | 文本型 | 返回的设备串号 |
示例
deviceID = getDeviceID(); -- 将设备ID保存到deviceID变量中
-------------------------授权一台设备-------------------------
if deviceID == "Fd452dg2421" then
notifyMessage("当前设备已授权");
else
notifyMessage("当前设备未授权");
os.exit() --结束脚本
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
notifyMessage("当前设备已授权");
else
notifyMessage("当前设备未授权");
os.exit(); --结束脚本
end
注意事项:
1,使用该函数 苹果设备返回的是序列号,安卓设备返回的是mac 。
2,os.exit() 为结束脚本函数。
函数:getNetTime() 获取网络时间
函数说明 : 获取网络时间。
函数方法 : getNetTime();
返回值 : 整数型 time
返回值 | 类型 | 说明 |
---|---|---|
time | 整数型 | 时间戳 |
示例
time = getNetTime();
if time ~= -1 then
tt = os.date("*t", time);
if tt.year > 2014 and tt.month > 2 and tt.day > 15 and tt.hour > 12 and tt.min > 30 then
notifyMessage("当前时间超过了2014年2月15日12点30分");
end
else
notifyMessage("请连接网络");
end
示例:获取网络时间判断脚本是否到期
endtime = os.time{year=2016, month=1, day=1, hour=0, min=0, sec=0};--到期时间2016年1月1日0点0分0秒
if endtime > getNetTime() then --结束日期大于现在日期
notifyMessage("脚本未到期");
else
notifyMessage("脚本已到期");
end
注意事项:
该时间与lua的os.time()函数一样, 返回的是UTC时间1970年1月1日0时0分0秒到现在流逝的秒数, 可以配合os.date()转换成方便阅读的格式。返回-1表示不能连接网络时间服务器
函数:getVersion() 获取当前触摸精灵版本号
函数说明 : 获取当前触摸精灵版本号。
函数方法 : getVersion();
返回值 : 文本型 version
返回值 | 类型 | 说明 |
---|---|---|
version | 文本型 | 触摸精灵版本号如3.3.2 |
示例
version = getVersion(); -- 将触摸精灵版本号保存在变量version中
notifyMessage(version); -- 显示版本号
-----判断版本号
if tonumber(string.sub(version, 1, 1)..string.sub(version, 3,3)..string.sub(version, 5,5)) < 332 then
notifyMessage("请使用332版本以上的触摸精灵");
os.exit();
end
注意事项:
返回的版本号是字符串,对比的时候需转换成数字对比。