设备信息函数

函数: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

注意事项:

返回的版本号是字符串,对比的时候需转换成数字对比。