全局函数

callScript

同步调用脚本,执行移动端脚本中的main函数,其返回值为脚本的返回值。(注意,该函数不会创建独立的线程,直接在当前线程中执行,所以不能在ui代码中使用,ui中应该使用runTask)
参数:
参数名 类型 必填 说明
scriptName string 必填 移动端脚本名,支持在线脚本和本地脚本,本地脚本包括apk资源文件,asset:脚本名(打包app时添加的js文件)比如:'asset:temp.js';本地js文件,比如:'/sdcard/temp.js'。在线脚本(网络,直接给出脚本名)。比如:callScript('asset:test.js');
params... 可变参数 选填 任意个参数,参数直接透传给脚本。
// 调用脚本,注意test是在冰狐在线脚本
callScript('test');

// 调用本地脚本,可以在打包apk时添加js脚本,12和'abc'为脚本参数
callScript('asset:test.js', 12, 'abc');
// 以下是test.js文件
function main(id, name) {
    // id:12  name:abc
    console.log('id:' + id + '  name:' + name);
}

runTask

执行任务,在ui代码中执行移动端脚本,调用时会另外开启一个线程执行脚本,专门用于自定义ui任务。若在非ui代码中调用脚本,请使用callScript。
参数:
参数名 类型 必填 说明
scriptName string 必填 移动端脚本名,支持在线脚本和本地脚本,本地脚本包括apk资源文件,asset:脚本名(打包app时添加的js文件)比如:'asset:temp.js';本地js文件,比如:'/sdcard/temp.js'。在线脚本(网络,直接给出脚本名)。比如:callScript('asset:test.js');
params... 可变参数 选填 任意个参数,参数直接透传给脚本。
// 调用脚本,注意test是在冰狐在线脚本
runTask('test');

// 调用本地脚本,可以在打包apk时添加js脚本,12和'abc'为脚本参数
runTask('asset:test.js', 12, 'abc');
// 以下是test.js文件
function main(id, name) {
    // id:12  name:abc
    console.log('id:' + id + '  name:' + name);
}

stop

停止执行当前脚本。
参数:
参数名 类型 必填 说明
refresh boolean 选填 停止后是否刷新界面,默认为true
stop();

logout

退出登录。
参数:
参数名 类型 必填 说明
logout();

getDeviceCustomData

获取设备自定义数据,网页端【移动端】/【设备管理】选择设备,点击"自定义数据"按钮,修改自定义数据值,返回string类型数据。
参数:
参数名 类型 必填 说明
key string 选填 返回键为key的值,默认key为空,表示返回所有数据
defaultValue 任何类型 选填 默认值,当获取数据失败后返回该数据
useCache boolean 选填 是否优先从缓存获取值,默认值true
例子:
var ret = getDeviceCustomData('name');
console.log('设备自定义数据:' + ret);

getUserCustomData

获取用户自定义数据(在「管理中心」/「账户信息」"自定义数据"中设置值,每个子账户户可以单独设置该值,子账户之间相互独立),返回结果结果为string。
参数:
参数名 类型 必填 说明
key string 选填 返回键为key的值,默认key为空,表示返回所有数据
defaultValue 任何类型 选填 默认值,当获取数据失败后返回该数据
var data = getUserCustomData('key', 123);
console.log('data:' + data);

getCustomData

获取全局自定义数据,用户在「管理中心」/「自定义数据」中创建的全局数据项(这个数据项在其所有子账户中共享使用),返回结果结果为string。
参数:
参数名 类型 必填 说明
name string 必填 数据名
defaultValue 任何类型 选填 默认值,当获取数据失败后返回该数据
var data = getCustomData('key', 123);
console.log('data:' + data);

smartGetCustomData

先获取设备的自定义数据,如果有就返回,否则获取用户自定义数据,如果有就返回,否则获取全局自定义数据。返回结果结果为string。
参数:
参数名 类型 必填 说明
name string 必填 数据名
defaultValue 任何类型 选填 默认值,当获取数据失败后返回该数据
var data = smartGetCustomData('key', 123);
console.log('data:' + data);

setCustomData

在移动端设置用户在「管理中心」/「自定义数据」中创建的全局数据项,返回结果结果为boolean(注意api不会自动创建不存在的自定义数据)。
参数:
参数名 类型 必填 说明
name string 必填 数据名
data string 必填 数据
var ret = setCustomData('key', 123);
console.log('ret:' + ret);

sleep

等待/延时一段时间。
参数:
参数名 类型 必填 说明
time integer 必填 延迟时间,单位毫秒
sleep(1000);

sendMessage

发送消息到客户端程序,用于在自定义ui场景,任务脚本发送消息给ui脚本, 返回boolean值。例:在任务脚本中调用sendMessage('run_msg', '正在初始化对象...'),在ui脚本中定义 function cbMessage(msgId, param1) {},自动会自动调用cbMessage回调函数;。(仅用于移动端脚本)
参数:
参数名 类型 必填 说明
msgId string 必填 消息的唯一标识,系统内置消息id「run_msg」,用于显示程序内部运行的信息。
params... 可变参数 选填 任意个参数
sendMessage('msg_id', 'test', 123);

getAppName

通过包名获取已经安装的app的名称。返回string。(仅用于移动端脚本)
参数:
参数名 类型 必填 说明
packageName string 必填 表示获取包名对应的app名。
var ret = getAppName('com.libra.aznfz');
console.log('ret:' + ret);

getCurAppName

获取前台正在运行的app名称。返回string。(仅用于移动端脚本)
参数:
参数名 类型 必填 说明
var ret = getCurAppName();
console.log('ret:' + ret);

getCurPackageName

获取前台正在运行的app包名。返回string。(仅用于移动端脚本)
参数:
参数名 类型 必填 说明
var ret = getCurPackageName();
console.log('ret:' + ret);

prob

根据概率返回boolean值。
参数:
参数名 类型 必填 说明
probability integer 必填 0-100的整数,如果为30,表示概率为30%,如果落在30%内返回true,否则返回false
var ret = prob(50);
console.log('ret:' + ret);

alert

显示警告框
参数:
参数名 类型 必填 说明
message string 必填 显示的内容
alert('hello');

parseInt

解析字符串返回integer,或者将float转换成integer
参数:
参数名 类型 必填 说明
data string/float 必填 数据
var ret = parseInt('123');
console.log('ret:', ret);

parseFloat

解析字符串返回float,或者将integer转换成float
参数:
参数名 类型 必填 说明
data string/integer 必填 数据
var ret = parseFloat('123.11');
console.log('ret:', ret);

parseBoolean

解析字符串返回boolean
参数:
参数名 类型 必填 说明
data string 必填 数据
var ret = parseBoolean('true');
console.log('ret:', ret);

strIsEmpty

判断一个变量是否为空的字符串,返回boolean
参数:
参数名 类型 必填 说明
data object 必填 数据
var ret = strIsEmpty('');
console.log('ret:', ret);

strIsNotEmpty

判断一个变量是否为非空的字符串,返回boolean
参数:
参数名 类型 必填 说明
data object 必填 数据
var ret = strIsNotEmpty('');
console.log('ret:', ret);

strEquals

判断两个字符串是否相等,返回boolean
参数:
参数名 类型 必填 说明
data1 string 必填 数据
data2 string 必填 数据
var ret = strEquals('abc', 'aaa');
console.log('ret:', ret);

setClipboardData

设置剪切板数据,返回boolean值
参数:
参数名 类型 必填 说明
data string 必填 数据
setClipboardData('hello');

getClipboardData

获取剪切板数据,注意:若获取的数据为空,请将冰狐app切换到前台后再次调用该函数即可获取剪切板数据。
参数:
参数名 类型 必填 说明
var data = getClipboardData();
console.log('data:', data);

toast

弹出框,可用于调试,或者显示信息。当x>=0且y>=0时,按坐标来显示,否则显示在屏幕中央,
注意:左上角为(0, 0),x坐标向为正,y坐标向下为正。
参数:
参数名 类型 必填 说明
text string 必填 文本
duration integer 选填 toast持续时间,默认值1000,单位毫秒
x integer 选填 x坐标值,默认值-1,单位像素
y integer 选填 y坐标值,默认值-1,单位像素
toast('test', 2000);

startActivity

启动/打开页面
参数:
参数名 类型 默认值 说明
intent Intent 必填 用于描述启动哪个页面
intent对象支持如下函数(每个函数都返回当前intent对象):
函数名 参数 说明
setAction string 用于描述意图抽象动作
addCategory string 用于为action增加额外的类别信息
setData string 用于向action提供操作数据
setType string 设置数据类型
setClassName string,string 两个参数分别表示className和packageName
// 显示桌面
var intent = new Intent();
intent.setAction('android.intent.action.MAIN').addCategory('android.intent.category.HOME');
startActivity(intent);

// 打开抖音中用户的主页
var intent = new Intent();
intent.setData('snssdk1128://user/detail/111186289832');
startActivity(intent);

shell

shell,返回字符串
参数:
参数名 类型 默认值 说明
cmd string 必填 shell命令
shell('cp /sdcard/aznfz/temp.txt /sdcard/aznfz/file.txt');

enableWifi

enableWifi,开启或者关闭wifi,返回boolean
参数:
参数名 类型 默认值 说明
enable boolean 必填 true表示开启wifi,false表示关闭wifi
var ret = enableWifi(false);
console.log('ret:', ret);

enableFloatBall

enableFloatBall,开启或者关闭悬浮球
参数:
参数名 类型 默认值 说明
enable boolean 必填 true表示开启悬浮球,false表示关闭悬浮球
enableFloatBall(false);

getIp

获取当前设备的外网ip,返回字符串
参数:
参数名 类型 默认值 说明
var ret = getIp();
console.log('ret:', ret);

killBackgroundApp

杀掉后台app(注意:由于部分app加入了防杀掉功能,调用可能失败)
参数:
参数名 类型 默认值 说明
packageName string 必填 app对应的包名
killBackgroundApp('com.xx.tt');

installApp

安装app
参数:
参数名 类型 默认值 说明
apkFilename string 必填 apk的全路径文件名
installApp('/sdcard/xx.apk');

uninstallApp

卸载app
参数:
参数名 类型 默认值 说明
包名/app名 string 必填 app包名或者app名称
tag string 选填 卸载app时自动点击的“卸载”按钮的tag,可以用|连接多个tag,比如"卸载|删除"等,默认为“卸载”。
uninstallApp('com.hupu.shihuo');

openUrl

使用默认浏览器打开url
参数:
参数名 类型 默认值 说明
url string 必填 url
openUrl('http://www.baidu.com');

vibrate(震动手机)

震动手机
参数:
参数名 类型 默认值 说明
duration integer 选填 震动持续时间,单位ms,默认值1000ms
vibrate(1000);

setDefaultScript(设置默认脚本)

设置默认脚本
参数:
参数名 类型 默认值 说明
scriptName string 必填 脚本名
setDefaultScript('main.js');

setLogLevel(设置Log级别)

设置显示Log的级别
参数:
参数名 类型 默认值 说明
level integer 必填 log级别,1表示error, 2表示warn,3表示debug,4表示info。比如设置为2时表示仅显示error和warn日志,显示所有日志可以设置为4
setLogLevel(4);

getLogLevel(获取Log级别)

获取显示Log的级别
参数:
参数名 类型 默认值 说明
console.log('level:' + getLogLevel());

setupUI(安装ui)

安装UI,必须在main函数中第一个调用setupUI函数,否则系统不会创建ui。
参数:
参数名 类型 默认值 说明
<template>
    <linear orientation="vertical">
        <linear orientation="horizontal" width="matchParent">
            <text id="show" text="demo" size="26" gravity="center" layoutWeight="1"/>
            <edit text="haha" gravity="center" layoutWeight="2"/>
            <button id="btn" text="按钮" gravity="center" layoutWeight="1" onClick="onClick"/>
        </linear>
        <spinner id="select" entries="苹果|香蕉|橘子"/>
        <image src="https://www.baidu.com/img/bd_logo1.png" width="30" height="50"/>
    </linear>
</template>
function main() {
    setupUI();
}

ui(获取ui控件)

获取ui控件。
参数:
参数名 类型 默认值 说明
id string 必填 ui控件的id
function main() {
    ui('name').setText('hello');
}

openUI

打开新的ui界面。
参数:
参数名 类型 默认值 说明
scriptName string 必填 ui脚本名
function main() {
    openUI('newUI');
}

closeUI

关闭当前ui界面。
参数:
参数名 类型 默认值 说明
closeUI();

showDialog

显示对话框。
参数:
参数名 类型 默认值 说明
type integer 必填 类型,0表示消息对话框,1表示带编辑功能的对话框
data object 必填 显示的数据
title string 必填 标题
buttonArray array 必填 按键信息,数组元素为对象{type: '', text: '', fn: function},type支持positive、neutral、negative,fn表示对应的处理函数,text表示按钮显示文本
showDialog(0, '是否确认运行该程序', '运行', [{type:'positive', text:'确定', fn: OnConfirmExe}, {type:'negative', text:'取消'}]);

showPopupMenu

显示弹出菜单。
参数:
参数名 类型 默认值 说明
view Node 必填 控件
items array 必填 菜单数据,数组项为{id: 'id', text: 'hi'}
fn function 选填 菜单处理函数
showPopupMenu(view, [{id: 0, text:'编辑'}, {id: 1, text:'删除'}], OnMenuItemClick);