16 KiB
D500 Android SDK 使用说明书
江苏东大集成电路系统工程技术有限公司 www.seuic.com
![SEUIC 东集 Logo 图片占位符]
修订记录
| 版本号 | 修订日期 | 修订内容 | 修订人员 |
|---|---|---|---|
| 0.0 | 2014/08/05 | 建立本文档 | 钱进 |
| 0.1 | 2014/08/05 | 加入 keypad、touch 接口的说明 | 张松 |
| 0.2 | 2014/08/08 | 更改文档模板,并按模板重写文档 | 徐良伟 |
| 1.0 | 2014/08/09 | 加入"系统包的使用",并按 touch 新接口修改文档 | 徐良伟 |
| 1.1 | 2014/09/02 | 加入 touch 新的接口说明 加入 misc 接口 | 魏启运 |
| 1.2 | 2015/04/29 | 在 misc 接口中增加启用/禁用状态栏下拉的接口,增加卸载/加载外置 SD 卡的接口 | 张松 |
| 1.3 | 2017/03/16 | 在 misc 接口中添加 Zigbee 及 Fingerprint 的访问接口 | 钱进 |
| 1.4 | 2017/03/29 | 更新 Zigbee 和 Fingerprint 接口 | 徐良伟 |
目录
- 概述
- 硬件平台
- 软件平台
- 适用对象
- 系统包的使用
- 触摸屏接口
- TouchService 类
- 键盘接口
- KeypadService 类
- Misc 接口
- Misc 类
- Zigbee 类
- Fingerprint 类
- Manager 类
概述
本文档介绍了 D500 上提供的设备相关的包的使用说明,以便帮助用户更好的使用终端产品提供的特殊功能。
硬件平台
SDK 适用于以下终端设备:
- D500
- D510
- D330S
具体使用范围在函数接口说明中指明,若无指明表示都支持。
软件平台
SDK 基于 Android 4.3 版本,支持 eclipse 开发工具。
适用对象
除了 Android 的标准功能外,希望用到设备提供的增值功能的开发人员。这部分增值功能包括一维扫描、二维扫描、键盘特殊设置、触摸特殊设置等实用功能。
系统包的使用
如果接口中标明是系统包,表明该包是内置到系统中的,无需将该包加入到 apk 中。下面以键盘接口为例,来说明如何在 eclipse 中使用系统包。
- 在工程目录下建一个
libsref目录(目录名称可以任意指定),将keypad.jar拷贝到此目录下。 - 在 eclipse 中选中工程,在菜单中选择 Project → Properties → Java Build Path,点击 Add External JARS... 按钮,选择刚才的
keypad.jar。这时可以在工程视图的 Referenced Libraries 下看到刚才我们引用的keypad.jar,展开可以看到所有keypad.jar提供的包、类、函数、变量。 AndroidManifest.xml中使用uses-library用包名来标示keypad.jar是引用包。
<application
……
<uses-library
android:name="com.seuic.keypad" />
……
</application>
触摸屏接口
| 项目 | 内容 |
|---|---|
| 包名 | com.seuic.touch |
| 包文件 | touch.jar |
| 系统包 | 是 |
| 包含的类 | TouchService |
| 作用 | 提供触摸屏相关的控制接口 |
TouchService 类
使用方法
import com.seuic.touch.TouchService;
TouchService touch = TouchService.getInstance();
函数接口
| 函数 | 说明 |
|---|---|
getGloveMode |
获取当前手套模式开关状态 |
setGloveMode |
设置手套模式开关 |
getTouchEnabled |
获取当前触屏使能状态 |
setTouchEnabled |
设置触摸屏使能开关 |
getVirKeyDisabled |
获取虚拟按键屏蔽状态(仅 D500 支持) |
setVirKeyDisabled |
设置虚拟按键屏蔽状态(仅 D500 支持) |
1. 获取当前手套模式开关状态
int getGloveMode()
参数: 无
返回值: 返回手套模式状态,有以下几种:
| 状态 | 值 | 说明 |
|---|---|---|
MODE_GLOVE_OFF |
0 | 手套模式关闭 |
MODE_GLOVE_ON |
1 | 手套模式打开 |
| <0 | 触摸接口不正常,或该设备不支持手套模式设置 |
2. 设置手套模式开关
boolean setGloveMode(int mode)
参数:
mode:手套模式状态,见getGloveMode()函数返回值的说明。
返回值: 返回 true 表示成功,false 表示失败。
3. 获取当前触摸屏使能状态
int getTouchEnable()
参数: 无
返回值: 返回触摸屏使能状态,有以下几种:
| 状态 | 值 | 说明 |
|---|---|---|
TOUCH_ENABLED_OFF |
0 | 触摸屏处于锁屏状态 |
TOUCH_ENABLED_ON |
1 | 触摸屏处于正常使用状态 |
| <0 | 触摸接口不正常,或该设备不支持触摸屏使能设置 |
4. 设置触摸屏使能开关
boolean setTouchEnabled(int enable, Context context)
参数:
enable:触摸屏使能状态,见getTouchEnabled()函数返回值的说明。context:调用者的上下文,用于向系统广播锁屏通知,以便在通知栏显示当前锁屏状态。
返回值: 返回 true 表示成功,false 表示失败。
5. 获取虚拟按键屏蔽状态
int getVirKeyDisabled()
参数: 无
返回值: 返回虚拟按键屏蔽状态,有以下几种:
| 状态 | 值 | 说明 |
|---|---|---|
VKEY1_DISABLE_MASK |
1 << 0 |
虚拟键一被屏蔽 |
VKEY2_DISABLE_MASK |
1 << 1 |
虚拟键二被屏蔽 |
VKEY3_DISABLE_MASK |
1 << 2 |
虚拟键三键被屏蔽 |
VKEY_ALL_DISABLE_MASK |
0x7 |
所有虚拟按键均屏蔽 |
| 0 | 所有虚拟按键未被屏蔽 | |
| <0 | 触摸接口不正常,或设备不支持触摸屏设置 |
6. 设置虚拟按键屏蔽状态
boolean setVirKeyDisabled(int disableMask)
参数:
disableMask:虚拟按键屏蔽状态,见getVirKeyDisabled()函数返回值的说明。
返回值: 返回 true 表示成功,false 表示失败。
键盘接口
| 项目 | 内容 |
|---|---|
| 包名 | com.seuic.keypad |
| 包文件 | keypad.jar |
| 系统包 | 是 |
| 包含的类 | KeypadService |
| 作用 | 提供键盘相关的控制接口 |
KeypadService 类
使用方法
import com.seuic.keypad.KeypadService;
KeypadService keypad = KeypadService.getInstance();
函数接口
| 函数 | 说明 |
|---|---|
getMode |
获取键盘模式(仅 D500 支持) |
setMode |
设置键盘模式(仅 D500 支持) |
1. 获取键盘模式
int getMode()
参数: 无
返回值: 返回键盘功能键模式,有以下几种:
| 状态 | 值 | 说明 |
|---|---|---|
MODE_NORMAL |
0 | 标准模式。根据当前 Num、Fn 的状态灯输出数字或功能键。 |
MODE_STICK_ONCE |
1 | Fn 键只粘滞一次模式。当处于 Fn 状态时,按一下按键输出功能键,然后自动切换到 Num 模式。 |
| <0 | 键盘接口不正常,或该设备不支持键盘模式设置 |
2. 设置键盘模式
boolean setMode(int mode)
参数:
mode:键盘模式状态,见getMode()函数返回值的说明。
返回值: 返回 true 表示成功,false 表示失败。
Misc 接口
| 项目 | 内容 |
|---|---|
| 包名 | com.seuic.misc |
| 包文件 | misc.jar |
| 系统包 | 是 |
| 包含的类 | Misc |
| 作用 | 提供系统其它接口 |
Misc 类
使用方法
import com.seuic.misc.Misc;
Misc misc = new Misc();
函数接口
| 函数 | 说明 |
|---|---|
getSN |
获取设备 SN |
getStatusBarEnabled |
获取系统状态栏是否允许下拉的状态 |
setStatusBarEnabled |
设置系统状态栏是否允许下拉 |
getExtSDCardMounted |
获取外置 SD 卡是否卸载 |
setExtSDCardMounted |
设置外置 SD 卡卸载或加载 |
getCustomId |
获取用户自定义序列号。仅支持 D700_V1.6.0 及之后版本,D700C_V1.2.0 及之后版本,D700P_V1.1.2 及之后版本。 |
1. 获取设备 SN
String getSN()
参数: 无
返回值: 返回厂家定义的 SN 号,有以下几种:
| 状态 | 值 | 说明 |
|---|---|---|
| null | null | 获取 SN 失败 |
| String 类型 | String 类型 | 获取成功 |
2. 获取系统状态栏是否允许下拉的状态
int getStatusBarEnabled(Context context)
参数:
context:上下文。
返回值: 返回状态栏是否允许下拉的状态,如下:
| 状态 | 值 | 说明 |
|---|---|---|
STATUSBAR_DISABLED |
0 | 系统状态栏不允许下拉。 |
STATUSBAR_ENABLED |
1 | 系统状态栏允许下拉。 |
| <0 | 接口不正常,或该设备不支持系统状态栏的设置。 |
3. 设置系统状态栏是否允许下拉
void setStatusBarEnabled(Context context, int enable)
参数:
context:上下文。enable:状态栏是否允许下拉,取值见getStatusBarEnabled()返回值。
返回值: 无
4. 获取外置 SD 卡是否卸载
int getExtSDCardMounted(Context context)
参数:
context:上下文。
返回值: 返回外置 SD 卡的状态,如下:
| 状态 | 值 | 说明 |
|---|---|---|
EXT_SDCARD_UNMOUNTED |
0 | 外置 SD 卡卸载。 |
EXT_SDCARD_MOUNTED |
1 | 外置 SD 卡未卸载。 |
| <0 | 接口不正常,或该设备不支持外置 SD 卡的卸载。 |
5. 设置外置 SD 卡卸载或装载
void setExtSDCardMounted(Context context, int enable)
参数:
context:上下文。enable:设置外置 SD 卡的卸载加载,取值见getExtSDCardMounted()返回值。
返回值: 无
6. 获取用户自定义序列号
String getCustomId()
参数: 无
返回值: 返回用户自定义序列号,仅 D700 系列支持,其它项目请勿调用此函数,会异常。
返回值有以下几种:
| 状态 | 值 | 说明 |
|---|---|---|
| null | null | 获取用户自定义序列号失败 |
| String 类型 | String 类型 | 获取成功 |
Zigbee 类
使用方法
import com.seuic.misc.Zigbee;
Zigbee zigbee = new Zigbee();
操作流程
参考流程:open → powerOn → read & write → powerOff → close
该类提供的函数可以分为两组,一组是用于模块的上电/断电,一组用于串口的操作。模块的上电和串口打开谁先谁后并没有严格的顺序,视具体设备要求。
函数接口
| 函数 | 说明 |
|---|---|
getDeviceName |
获取设备名称 |
powerOn |
设备上电 |
powerOff |
设备断电 |
open |
打开设备,包括打开串口,不包括上电 |
close |
关闭设备,包括关闭串口,不包括断电 |
read |
封装对设备的读操作 |
write |
封装对设备的写操作 |
1. 获取设备名称
public String getDeviceName()
参数: 无
返回值: 该设备连接的串口设备文件,如 /dev/ttyUART0
2. 设备上电
public void powerOn()
参数: 无
返回值: 无
3. 设备断电
public void powerOff()
参数: 无
返回值: 无
4. 打开设备,包括打开串口
public boolean open()
public boolean open(int baudrate)
public boolean open(int baudrate, int dataBits, int stopBits, int parity)
参数:
baudrate:波特率,如115200dataBits:数据位,目前支持5、6、7、8stopBits:停止位,目前支持1、2parity:奇偶校验'n'或'N':无奇偶校验'o'或'O':奇校验'e'或'E':偶校验'm'或'M':标记检验's'或'S':空白校验
返回值: 成功或失败
备注: 提供 3 个 open 接口简化串口的参数设置,默认串口 115200,8 位数据位,1 位停止位,无奇偶校验。用户可以根据实际情况选择相应的接口。
5. 关闭设备,包括关闭串口
public void close()
参数: 无
返回值: 无
6. 封装对设备的读操作
public byte[] read(int len, int timeout)
参数:
| 参数 | 类型 | 说明 |
|---|---|---|
len |
int | 要读取的长度 |
timeout |
int | 超时,单位毫秒 |
返回值: 读取到的字节数组,失败的话返回 null
7. 封装对设备的写操作
public boolean write(byte[] data, int len)
参数:
| 参数 | 类型 | 说明 |
|---|---|---|
data |
byte[] | 要写入设备的字节数组 |
len |
int | 要写入的长度,应当 <= data 的实际长度 |
返回值: 成功或失败
Fingerprint 类
使用方法
import com.seuic.misc.Fingerprint;
Fingerprint fingerprint = new Fingerprint();
操作流程
open → powerOn → read & write → powerOff → close
有的指纹模块可能需要先
powerOn再open,请和模块厂家确认。
该类提供的函数可以分为两组,一组是用于模块的上电/断电,一组用于串口的操作。模块的上电和串口打开谁先谁后并没有严格的顺序,视具体设备要求。
函数接口
| 函数 | 说明 |
|---|---|
getDeviceName |
获取设备名称 |
powerOn |
设备上电 |
powerOff |
设备断电 |
open |
打开设备,包括打开串口,不包括上电 |
close |
关闭设备,包括关闭串口,不包括断电 |
read |
封装对设备的读操作 |
write |
封装对设备的写操作 |
1. 获取设备名称
public String getDeviceName()
参数: 无
返回值: 该设备连接的串口设备文件,如 /dev/ttyUART0
2. 设备上电
public void powerOn()
参数: 无
返回值: 无
3. 设备断电
public void powerOff()
参数: 无
返回值: 无
4. 打开设备,包括打开串口
public boolean open()
public boolean open(int baudrate)
public boolean open(int baudrate, int dataBits, int stopBits, int parity)
参数:
baudrate:波特率,如115200dataBits:数据位,目前支持5、6、7、8stopBits:停止位,目前支持1、2parity:奇偶校验'n'或'N':无奇偶校验'o'或'O':奇校验'e'或'E':偶校验'm'或'M':标记检验's'或'S':空白校验
返回值: 成功或失败
备注: 提供 3 个 open 接口简化串口的参数设置,默认串口 115200,8 位数据位,1 位停止位,无奇偶校验。用户可以根据实际情况选择相应的接口。
5. 关闭设备,包括关闭串口
public void close()
参数: 无
返回值: 无
6. 封装对设备的读操作
public byte[] read(int len, int timeout)
参数:
| 参数 | 类型 | 说明 |
|---|---|---|
len |
int | 要读取的长度 |
timeout |
int | 超时,单位毫秒 |
返回值: 读取到的字节数组,失败的话返回 null
7. 封装对设备的写操作
public boolean write(byte[] data, int len)
参数:
| 参数 | 类型 | 说明 |
|---|---|---|
data |
byte[] | 要写入设备的字节数组 |
len |
int | 要写入的长度,应当 <= data 的实际长度 |
返回值: 成功或失败
Manager 类
使用方法
import com.seuic.misc.Manager;
Manager manager = new Manager(context);
函数接口
| 函数 | 说明 |
|---|---|
enableUsb |
使能/禁用 USB。使能状态下,usb 才可以设置为 mtp/ptp/U 盘模式。仅支持 D700_V1.6.0 及之后版本。 |
isUsbEnabled |
查看 USB 使能状态。仅支持 D700_V1.6.0 及之后版本。 |
1. 使能/禁用 USB
public boolean enableUsb(boolean enable)
参数:
enable:true:使能false:禁用
返回值: 设置是否成功。
2. 查看 USB 使能状态
public boolean isUsbEnabled()
参数: 无
返回值: true 表示使能,false 表示禁用。默认是使能状态。