Skip to main content

Android 系统 JavaScriptApi

Android 系统相关接口,JavaScript 对应对象为 window.Native

获取设备唯一标识符

String getDeviceId()

对应系统的 Settings.Secure.ANDROID_ID,设备恢复出厂设置后会重置

返回值

设备唯一标识符, 16 进制字符串, 例如:29ece4bb42d3ba57

调用示例
window.Native.getDeviceId();

获取应用数据根目录

String getRootPath()

获取应用根目录,默认为 /sdcard/shine/

返回值

应用数据根目录绝对路径

调用示例
window.Native.getRootPath();

获取通话状态

int getCallState()

获取通话状态

返回值

  • 0: 无通话
  • 1: 来电
  • 2: 接通
调用示例
window.Native.getCallState();

拨打电话

void callPhone(String phoneNumber)

拨打电话

参数

ParamDescription
phoneNumber电话号码
调用示例
window.Native.phoneNumber('123456789');

批量添加联系人

void batchAddContact(String contacts)

批量添加联系人

参数

调用示例
window.Native.batchAddContact('[{"name":"张三","phone":12345678901}]');

获取所有通话记录

String getCallLog()

获取所有通话记录

返回值

json 格式的通话记录列表,例如:
{"name":" 张三 ","number":"138001380001","date":1652064237221,"type":2,"duration":0}

  • name: 联系人姓名
  • number: 联系人号码
  • date: 通话时间,毫秒数
  • type: 通话类型,1: 呼入,2: 呼出,3: 未接
  • duration: 通话时长,单位秒
调用示例
window.Native.getCallLog();

删除所有联系人

void deleteAllContacts()

删除所有联系人

调用示例
window.Native.deleteAllContacts();

重启应用

void relaunchApp()

重启应用

调用示例
window.Native.relaunchApp();

获取屏幕宽度

int getScreenWidth()

获取屏幕宽度

返回值

屏幕宽度,单位像素

调用示例
window.Native.getScreenWidth();

获取屏幕高度

int getScreenHeight()

获取屏幕高度

返回值

屏幕高度,单位像素

调用示例
window.Native.getScreenHeight();

获取屏幕方向

int getScreenOrientation()

获取屏幕方向

返回值

屏幕方向,1: 横屏 2: 竖屏

调用示例
window.Native.getScreenOrientation();

设置屏幕方向

void setScreenOrientation(int orientation)

设置屏幕方向

参数

ParamDescription
orientation屏幕方向,0: 横屏 1: 竖屏
调用示例
window.Native.setScreenOrientation(0);

立即关屏

void closeScreen()

立即关屏

调用示例
window.Native.closeScreen();

立即开屏

void openScreen()

立即开屏

调用示例
window.Native.openScreen();

立即关机

void shutdown()

立即关机

调用示例
window.Native.shutdown();

重启设备

boolean reboot()

重启设备

返回值

是否重启成功

调用示例
window.Native.reboot();

设置开机时间

void setWakeUpTimeMillis(long millis)

设置开机时间

参数

ParamDescription
millis开机时间,毫秒数
调用示例
window.Native.setWakeUpTimeMillis(1652680442000);

获取 IP 地址

String getIpAddress()

获取 IP 地址

返回值

有线网卡 IP 地址

调用示例
window.Native.getIpAddress();

获取 mac 地址

String getMacAddress()

获取 mac 地址

返回值

有线网卡 mac 地址,例如:
12:34:56:78:90:AA

调用示例
window.Native.getMacAddress();

设置音量

void setStreamVolume(int streamType, int num)

设置音量

参数

ParamDescription
streamType声音类型,0:voice 1:system 2:ring 3:music 4:alarm
num0~100,0 表示静音
调用示例
window.Native.setStreamVolume(1, 90);

获取音量

int getStreamVolume(int streamType)

获取音量

参数

ParamDescription
streamType声音类型,0:voice 1:system 2:ring 3:music 4:alarm

返回值

0~100,0 表示静音

调用示例
window.Native.getStreamVolume();

设置系统时间

void setSystemTime(long millis)

设置系统时间

参数

ParamDescription
millis时间戳,单位毫秒
调用示例
window.Native.setSystemTime(1652680442000);

设置屏幕亮度

void setScreenBrightness(int value)

设置屏幕亮度

参数

ParamDescription
value亮度值,0~100
调用示例
window.Native..setScreenBrightness(80);

打开设置界面

void launchSetting()

打开设置界面

调用示例
window.Native.launchSetting();

打开默认桌面

void launchLauncher3()

打开默认桌面

调用示例
window.Native.launchLauncher3();

退出程序

void exitApp()

退出程序

调用示例
window.Native.exitApp();

获取 SD 卡信息

String getSDCardInfo()

获取 SD 卡信息

返回值

SD 卡信息,例如:
[{"totalSize": "100", "availableSize": "90","isRemovable": true,

"state": "mounted", "path": "/storage/emulated/0"}]

  • totalSize: 总空间,单位 byte
  • availableSize: 可用空间,单位 byte
  • isRemovable: 可移除
  • state: 状态
  • path: 路径
调用示例
window.Native.getSDCardInfo();

获取设备名称

String getDeviceName()

获取设备名称

返回值

设备名称

调用示例
window.Native.getDeviceName();

获取软件版本

String getSoftwareVersion()

获取软件版本

返回值

软件版本

调用示例
window.Native.getSoftwareVersion();

获取内核版本

String getKernelVersion()

获取内核版本

返回值

内核版本

调用示例
window.Native.getKernelVersion();

获取屏幕分辨率

String getScreenResolution()

获取屏幕分辨率

返回值

屏幕分辨率,例如:1920*1080

调用示例
window.Native.getScreenResolution();

获取 android 版本

String getAndroidVersion()

获取 android 版本

返回值

android 版本

调用示例
window.Native.getAndroidVersion();

获取 CPU 信息

String getCpu()

获取 CPU 信息

返回值

CPU 信息

调用示例
window.Native.getCpu();

获取运行内存

String getRunMemory()

获取运行内存

返回值

运行内存

调用示例
window.Native.getRunMemory();

获取主板类型

String getMotherBoard()

获取主板类型

返回值

主板类型

调用示例
window.Native.getMotherBoard();

发送广播

void sendBroadcast(String action)

发送广播

参数

ParamDescription
action广播名称
调用示例
window.Native.sendBroadcast("com.example.broadcast");

发送广播带参数

void sendBroadcastWithParams(String action, String params)

发送带参数广播

参数

ParamDescription
action广播名称
params参数
调用示例
const extraData = {
stringValue: "Hello",
intValue: 123,
boolValue: true,
floatValue: 3.14
};
window.Native.sendBroadcastWithParams("com.example.ACTION_NAME", JSON.stringify(extraData));

// 双屏异显控制左灯条亮
window.Native.sendBroadcastWithParams("com.android.yf_set_gpio", JSON.stringify({
gpio: "gpio1",
value: 1
}));

// 双屏异显控制右灯条亮
window.Native.sendBroadcastWithParams("com.android.yf_set_gpio", JSON.stringify({
gpio: "gpio2",
value: 1
}));

// 双屏异显控制左灯条灭
window.Native.sendBroadcastWithParams("com.android.yf_set_gpio", JSON.stringify({
gpio: "gpio1",
value: 0
}));

// 双屏异显控制右灯条灭
window.Native.sendBroadcastWithParams("com.android.yf_set_gpio", JSON.stringify({
gpio: "gpio2",
value: 0
}));

检测 url 是否可以访问

int checkConnectivity(String url)

检测 url 是否可以访问

参数

ParamDescription
urlurl 地址

返回值

0: 可以访问,非 0: 不可以访问

调用示例
window.Native.checkConnectivity("http://172.168.32.22:1883");

获取网络类型

int getNetworkType()

获取网络类型

返回值

  • 0: 有线网络
  • 1: WIFI
  • 2: 5G
  • 3: 4G
  • 4: 3G
  • 5: 2G
  • 6: 其他
  • 7: 无网络
调用示例
window.Native.getNetworkType();

设置 GPIO 状态

String setGpioValue(int gpioNum, int value)

设置 GPIO 状态, 用于控制 GPIO 相关硬件

参数

ParamDescription
gpioNumgpio 编号
value电平值 0:低电平 1:高电平
调用示例
window.Native.setGpioValue(0, 1);

// 双屏异显YF3568设备控制灯条
// 左边亮灯
window.Native.setGpioValue(1, 1);
// 右边亮灯
window.Native.setGpioValue(2, 1);
// 左边灭灯
window.Native.setGpioValue(1, 0);
// 右边灭灯
window.Native.setGpioValue(2, 0);

静默安装apk

boolean installSilent(String apkFilePath)

静默安装apk,如果识别到无法静默安装,则采用普通显式安装方式

参数

ParamDescription
apkFilePathapk 文件路径
调用示例
window.Native.installSilent("/sdcard/test.apk");

截图

void screenCap(String filePath, SimpleCallBack callBack)

截图,并保存到指定路径

参数

ParamDescription
filePath截图保存路径
callBack回调函数
调用示例
window.Native.screenCap("/sdcard/test.png", function (result) {
// result: {"code":0,"data":"/sdcard/test.png"}
// code: 0-成功,其他-失败,data: 截图保存路径
var data = JSON.parse(result);
if (data.code === 0) {
console.log("screenCap success");
} else {
var errorMsg = data.data;
console.log("screenCap fail: " + errorMsg);
}
});

// 搭配文件API使用,获取截图base64数据
window.NativeFile.encode2Base64("/sdcard/test.png");