android智能终端SDK

移动支付产品接入文档


AIDL文件

<h1>版本V1.0.9</h1> <pre><code class="language-java">package com.smartdevice.aidl; import com.smartdevice.aidl.ICallBack; import android.graphics.Bitmap; import android.content.Context; interface IZKCService { /** * 设置当前功能模块 * @param cb: 实现ICallback接口的回调 */ boolean setModuleFlag(int module); /************************************************************ * *** * 打印机 *** * *** ************************************************************/ /** * 注册 * @param cb: 实现ICallback接口的回调 */ void registerCallBack(String flag,ICallBack callback); /** * 注销回调 * @param cb: 实现ICallback接口的回调 */ void unregisterCallBack(String flag,ICallBack callback); /** * 停止回调任务 */ void stopRunningTask(); /** * 判断回调任务是否正在运行 */ boolean isTaskRunning(); /** * 获取打印机固件版本 */ void getFirmwareVersion(); /** * 获取ZKCService服务版本 */ String getServiceVersion(); /** * 获取ZKCService服务版本 */ int getDeviceModel(); /** * 初始化打印机 */ void printerInit(); /** * 获取打印机状态 */ String getPrinterStatus(); /** * 打印机自检,打印机会打印自检页 */ void printerSelfChecking(); /** * 检查打印机是否空闲 */ boolean checkPrinterAvailable(); /** * 使用原始指令打印 * @param data 指令 * @param callback 结果回调 */ void sendRAWData(String flag,in byte[] data); /** * 检查打印机是否空闲 */ boolean setPrinterLanguage(String lang, int langCode); /** * 设置对齐模式,对之后打印有影响,除非初始化 * @param alignment: 对齐方式 0--居左, 1--居中, 2--居右 * @param callback 结果回调 */ void setAlignment(int alignment); /** * 设置打印字体, 对之后打印有影响,除非初始化 * (目前只支持两种字体) * @param typeface: 字体类型 0--ASCII(12*24) 汉字(24*24),1--ASCII(8*16) 汉字(16*16) */ void setTypeface(int type); /** * 设置字体大小, 对之后打印有影响,除非初始化 * 调整字体大小会影响字符宽度,每行字符数量也会随之改变, * @param fontsize: 字体大小类型 0--字符正常: 不放大,1--字符 2 倍高:纵向放大, * 2--字符 2 倍宽:横向放大,3--字符 2 倍整体放大 */ void setFontSize(int type); /** * 打印文字,文字宽度满一行自动换行排版,不满一整行不打印除非强制换行 * @param text: 要打印的文字字符串 */ void printGBKText(String text); /** * 打印文字,文字宽度满一行自动换行排版,不满一整行不打印除非强制换行 * @param text: 要打印的文字字符串 */ void printUnicodeText(String text); /** * 打印指定字体的文本,字体设置只对本次有效 * @param text: 要打印文字 * @param typeface: 字体类型 * @param fontsize: 字体大小 类型 */ void printTextWithFont(String text, int type, int size); /** * 打印指定字体,字号、对齐方式的文本,字体设置只对本次有效 * @param text: 要打印文字 * @param typeface: 字体类型 * @param fontsize: 字体大小 类型 * @param alginStyle: 对齐方式(0居左, 1居中, 2居右) */ void printTextAlgin(String text, int type, int size, int alginStyle); /** * 打印表格的一行,可以指定列宽、对齐方式 * @param colsTextArr 各列文本字符串数组 * @param colsWidthArr 各列宽度数组(以英文字符计算, 每个中文字符占两个英文字符, 每个宽度大于0) * @param colsAlign 各列对齐方式(0居左, 1居中, 2居右) * 备注: 三个参数的数组长度应该一致, 如果colsText[i]的宽度大于colsWidth[i], 则文本换行 */ void printColumnsText(in String[] colsTextArr, in int[] colsWidthArr, in int[] colsAlign); /** * 打印图片 * @param bitmap: 图片bitmap对象 */ void printBitmap(in Bitmap bitmap); /** * 打印图片(含对齐方式) * @param bitmap: 图片bitmap对象 * @parm position: 图片位置 0--居左,1--居中,2--居右 */ void printBitmapAlgin(in Bitmap bitmap, int width, int height,int position); /** * 创建一维条码图片 * @param data: 条码数据 * @param symbology: 条码类型 * 0 -- UPC-A, * 1 -- UPC-E, * 2 -- JAN13(EAN13), * 3 -- JAN8(EAN8), * 4 -- CODE39, * 5 -- ITF, * 6 -- CODABAR, * 7 -- CODE93, * 8 -- CODE128 * @param height: 条码高度, 取值1到255, 默认162 * @param width: 条码宽度, 取值0至5, 默认3 * @param displayText: 是否显示文字 */ Bitmap createBarCode(String data, int codeFormat, int width, int height, boolean displayText); /** * 创建二维条码图片 * @param data: 二维码数据 * @param modulesize: 二维码块大小(单位:点, 取值 1 至 16 ) */ Bitmap createQRCode(String data, int width, int height); /******************************** ********添加日期 2017/03/14****** *********************************/ /* *打印不干胶获取间隙 */ void generateSpace(); /******************************** ********添加日期 2017/04/25****** *********************************/ /* *打印图片(灰度) */ boolean printImageGray(in Bitmap bitmap); /* *打印图片(光栅) */ boolean printRasterImage(in Bitmap bitmap); /* *打印UNINCODE(光栅) */ boolean printUnicode_1F30(String textStr); /* *设置打印语言 */ void setPrintLanguage(String language); /* *获取固件版本 */ String getFirmwareVersion1(); /* *获取固件版本 */ String getFirmwareVersion2(); /* *指定打印条码 */ // boolean printBarCode(String content); /* *指定打印二维码 */ // boolean printQrCode(String content); /************************************************************ * *** * 客显屏 *** * *** ************************************************************/ /** * 控制屏背光电源 * @param btFlg 控制背光亮度 0===》亮;1===》不亮 */ void openBackLight(int btFlg); /** * 显示彩色图片,图片格式不限 * @param bitmapSrc 显示图片位图 */ boolean showRGB565Image(in Bitmap bitmapSrc); /** * 显示彩色图片,图片格式不限 * @param path 图片路径 */ boolean showRGB565ImageByPath(String path); /** * 指定位置显示彩色图片,图片格式不限 * @param bitmapSrc * 图片 * @param x * 起点X坐标 * @param y * 起点Y坐标 * @param width * 显示宽度 * @param height * 显示高度 * @return */ boolean showRGB565ImageLocation(in Bitmap bitmapSrc,int x, int y, int width, int height); /** * 更新屏幕LOGO * @param bitmapSrc * @return */ boolean updateLogo(in Bitmap bitmapSrc); /** * 更新屏幕LOGO * @param path * @return */ boolean updateLogoByPath(String path); /** * 显示双色图片 * * @param BackColor * @param ForeColor * @param bitmapSrc * @return */ boolean showDotImage(int BackColor, int ForeColor,in Bitmap bitmapSrc); /** * 屏幕中心显示彩色图片 * @param bitmapSrc * @return */ boolean showRGB565ImageCenter(in Bitmap bitmapSrc); /************************************************************ * *** * PSAM卡 *** * *** ************************************************************/ /** * 打开PSAM电源 */ int Open(); /** * 关闭PSAM电源 */ int Close(long fd); /** * 打开/关闭GPIO口 * @return true--success; false--fail */ boolean setGPIO(int io,int status); /** * 打开指定PSAM卡 * @param carPositin: PSAM卡位置 * @return 返回0成功 */ int openCard(int carPositin); /** * 打开设备2 * * @param 卡槽编号 */ int openCard2(inout int[] fd,int slotno); /** * 打开设备3 * * @param 卡槽编号 */ int openCard3(long fd,int slotno); /** * 关闭打开的PSAM卡 * @return 返回0成功 */ int CloseCard(); /** *功能: 关闭设备2 *c参数 v2 true:设备3/设备2 *参数: [in]unsigned long fd传入要关闭的设备句柄 *返回值:正确为0,错误为非0 */ int CloseCard2(long fd, boolean v2); /** * 重置当前打开的PSAM卡 * @param power: 指定的电压大小 * @return 以字节数组返回PSAM卡号 */ byte[] ResetCard(int power); /** *功能: 设备复位2 *参数: [in]unsigned long fd传入要关闭的设备句柄 * [out]unsigned char *atr 传出设备复位信息 * [in/out]int *atrLen 传出设备复位信息长度 *返回值:正确为0,错误为非0 */ int ResetCard2(long fd, inout byte[] atr,inout int[] atrLen); /** *功能: 设备复位3 *参数: [in]unsigned long fd传入要关闭的设备句柄 * [out]unsigned char *atr 传出设备复位信息 * [in/out]int *atrLen 传出设备复位信息长度 *返回值:正确为0,错误为非0 */ byte[] ResetCard3(long fd,int slotno,int pw); /** * 给当前PSAM卡发送APDU命令 * @param apdu: APDU命令 * @return 以字节数组返回命令结果 */ byte[] CardApdu(in byte[] apdu); /** *功能: 发送APDU指令2 *参数: [in]unsigned long fd传入设备句柄 * [in]unsigned char *apdu 要发送的apdu指令 * [in]int apduLength 要发送的apdu指令长度 * [out]unsigned char*response 返回数据内容 * [in/out]int* respLength 返回数据长度 *返回值:正确为0,错误为非0 *注意:此接口不执行自动取响应数据(即此接口不自动发送“00c0”这种取响应指令) */ int CardApdu2(long fd, in byte[] apdu,int apduLength, inout byte[] response,inout int[] respLength); /** *功能: 发送APDU指令3 *参数: [in]unsigned long fd传入设备句柄 * [in]unsigned char *apdu 要发送的apdu指令 * [in]int apduLength 要发送的apdu指令长度 * [out]unsigned char*response 返回数据内容 * [in/out]int* respLength 返回数据长度 *返回值:正确为0,错误为非0 *注意:此接口不执行自动取响应数据(即此接口不自动发送“00c0”这种取响应指令) */ byte[] CardApdu3(long fd, in byte[] apdu,int apduLength); /************************************************************ * *** * 扫描 *** * *** ************************************************************/ /** * 打开扫描 * @param status: true:打开;false:关闭 */ void openScan(boolean status); /** * 扫描 */ void scan(); /** * 数据末尾追加回车 * @param status: true:追加;false:不追加 */ void dataAppendEnter(boolean status); /** * 扫描成功提示音 * @param status: true:需要;false:不需要 */ void appendRingTone(boolean status); /** * 连续扫描 * @param status: true:需要;false:不需要 */ void continueScan(boolean status); /** * 扫码重复提示 * @param status: true:提示;false:不提示 */ void scanRepeatHint(boolean status); /** * 恢复出厂设置 * @param status: true:设置生效;false:设置不生效 */ void recoveryFactorySet(boolean status); /** * 发送扫描指令 * @param byte[] 发送的指令数据 * @return 接收的结果 */ byte[] sendCommand(in byte[] buffer); /** * 是否可以正常扫描 * @return true:扫描已打开;false:扫描已关闭; */ boolean isScanning(); /** * 获取身份证信息 * @return 身份证信息 */ String getIdentifyInfo(); /** * 打开电源 * @return 身份证信息 */ boolean turnOn(); /** * 断开电源 * @return 身份证信息 */ boolean turnOff(); /** * 断开电源 * @return 身份证信息 */ Bitmap getHeader(); }</code></pre>

页面列表

ITEM_HTML