001/* 002 * =========================================================================================== 003 * = COPYRIGHT 004 * PAX Computer Technology (Shenzhen) Co., Ltd. PROPRIETARY INFORMATION 005 * This software is supplied under the terms of a license agreement or nondisclosure 006 * agreement with PAX Computer Technology (Shenzhen) Co., Ltd. and may not be copied or 007 * disclosed except in accordance with the terms in that agreement. 008 * Copyright (C) 2017-2023 PAX Computer Technology (Shenzhen) Co., Ltd. All rights reserved. 009 * Description: // Detail description about the function of this module, 010 * // interfaces with the other modules, and dependencies. 011 * Revision History: 012 * Date Author Action 013 * 2017/04/01 PAX Create/Add/Modify/Delete 014 * =========================================================================================== 015 */ 016 017package com.pax.dal; 018 019import com.pax.dal.entity.DecodeResult; 020import com.pax.dal.entity.DecodeResultRaw; 021 022import android.content.Context; 023 024/** 025 * <div class="zh">必须要添加权限:android.permission.READ_PHONE_STATE,android.permission.INTERNET和android.permission.ACCESS_WIFI_STATE</div> 026 * <div class="en">Permissions must be added:android.permission.READ_PHONE_STATE,android.permission.INTERNET and android.permission.ACCESS_WIFI_STATE</div> 027 * @since V2.02.00 028 * @author Uni.W 029 */ 030public interface IScanCodec { 031 032 /** 033 * <div class="zh"> 禁止扫描类型 </div> <div class="en"> disable scanner format </div> 034 * 035 * @param format 036 * <div class="zh">条码类型 037 * <ul> 038 * <li>1: CODEC_UPC</li> 039 * <li>2: CODEC_C39</li> 040 * <li>3: CODEC_C128</li> 041 * <li>4: CODEC_I25</li> 042 * <li>5: CODEC_C93</li> 043 * <li>6: CODEC_GS1_DATABAR</li> 044 * <li>7: CODEC_MSI</li> 045 * <li>8: CODEC_CODEBLOCK_F</li> 046 * <li>9: CODEC_PDF417</li> 047 * <li>10: CODEC_MICROPDF</li> 048 * <li>11: CODEC_MAXICODE</li> 049 * <li>12: CODEC_QRCODE</li> 050 * <li>13: CODEC_DATAMATRIX</li> 051 * <li>14: CODEC_AZTEC</li> 052 * <li>15: CODEC_HAXIN</li> 053 * <li>16: CODEC_MATRIX</li> 054 * <li>17: CODEC_TRIOPTIC</li> 055 * <li>18: CODEC_STRAIGHT25</li> 056 * <li>19: CODEC_TELEPEN</li> 057 * <li>20: CODEC_C11</li> 058 * <li>21: CODEC_NEC25</li> 059 * <li>22: CODEC_CODABAR</li> 060 * <li>23: CODEC_HK25</li> 061 * <li>24: CODEC_POSTAL</li> 062 * </ul> 063 * </div> <div class="en"> scan format 064 * <ul> 065 * <li>1: CODEC_UPC</li> 066 * <li>2: CODEC_C39</li> 067 * <li>3: CODEC_C128</li> 068 * <li>4: CODEC_I25</li> 069 * <li>5: CODEC_C93</li> 070 * <li>6: CODEC_GS1_DATABAR</li> 071 * <li>7: CODEC_MSI</li> 072 * <li>8: CODEC_CODEBLOCK_F</li> 073 * <li>9: CODEC_PDF417</li> 074 * <li>10: CODEC_MICROPDF</li> 075 * <li>11: CODEC_MAXICODE</li> 076 * <li>12: CODEC_QRCODE</li> 077 * <li>13: CODEC_DATAMATRIX</li> 078 * <li>14: CODEC_AZTEC</li> 079 * <li>15: CODEC_HAXIN</li> 080 * <li>16: CODEC_MATRIX</li> 081 * <li>17: CODEC_TRIOPTIC</li> 082 * <li>18: CODEC_STRAIGHT25</li> 083 * <li>19: CODEC_TELEPEN</li> 084 * <li>20: CODEC_C11</li> 085 * <li>21: CODEC_NEC25</li> 086 * <li>22: CODEC_CODABAR</li> 087 * <li>23: CODEC_HK25</li> 088 * <li>24: CODEC_POSTAL</li> 089 * </ul> 090 * </div> 091 */ 092 void disableFormat(int format); 093 094 /** 095 * <div class="zh"> 使能扫描类型 </div> <div class="en"> enable scanner format </div> 096 * 097 * @param format 098 * <div class="zh">条码类型 099 * <ul> 100 * <li>1: CODEC_UPC</li> 101 * <li>2: CODEC_C39</li> 102 * <li>3: CODEC_C128</li> 103 * <li>4: CODEC_I25</li> 104 * <li>5: CODEC_C93</li> 105 * <li>6: CODEC_GS1_DATABAR</li> 106 * <li>7: CODEC_MSI</li> 107 * <li>8: CODEC_CODEBLOCK_F</li> 108 * <li>9: CODEC_PDF417</li> 109 * <li>10: CODEC_MICROPDF</li> 110 * <li>11: CODEC_MAXICODE</li> 111 * <li>12: CODEC_QRCODE</li> 112 * <li>13: CODEC_DATAMATRIX</li> 113 * <li>14: CODEC_AZTEC</li> 114 * <li>15: CODEC_HAXIN</li> 115 * <li>16: CODEC_MATRIX</li> 116 * <li>17: CODEC_TRIOPTIC</li> 117 * <li>18: CODEC_STRAIGHT25</li> 118 * <li>19: CODEC_TELEPEN</li> 119 * <li>20: CODEC_C11</li> 120 * <li>21: CODEC_NEC25</li> 121 * <li>22: CODEC_CODABAR</li> 122 * <li>23: CODEC_HK25</li> 123 * <li>24: CODEC_POSTAL</li> 124 * </ul> 125 * </div> <div class="en"> scan format 126 * <ul> 127 * <li>1: CODEC_UPC</li> 128 * <li>2: CODEC_C39</li> 129 * <li>3: CODEC_C128</li> 130 * <li>4: CODEC_I25</li> 131 * <li>5: CODEC_C93</li> 132 * <li>6: CODEC_GS1_DATABAR</li> 133 * <li>7: CODEC_MSI</li> 134 * <li>8: CODEC_CODEBLOCK_F</li> 135 * <li>9: CODEC_PDF417</li> 136 * <li>10: CODEC_MICROPDF</li> 137 * <li>11: CODEC_MAXICODE</li> 138 * <li>12: CODEC_QRCODE</li> 139 * <li>13: CODEC_DATAMATRIX</li> 140 * <li>14: CODEC_AZTEC</li> 141 * <li>15: CODEC_HAXIN</li> 142 * <li>16: CODEC_MATRIX</li> 143 * <li>17: CODEC_TRIOPTIC</li> 144 * <li>18: CODEC_STRAIGHT25</li> 145 * <li>19: CODEC_TELEPEN</li> 146 * <li>20: CODEC_C11</li> 147 * <li>21: CODEC_NEC25</li> 148 * <li>22: CODEC_CODABAR</li> 149 * <li>23: CODEC_HK25</li> 150 * <li>24: CODEC_POSTAL</li> 151 * </ul> 152 * </div> 153 */ 154 void enableFormat(int format); 155 156 /** 157 * <div class="zh"> 初始化(目前只支持1280 * 720, 640 * 480, 480 * 640) </div> <div class="en"> init(only support 1280 * 720, 640 * 480, 480 * 640) 158 * </div> 159 * 160 * @param context 161 * <div class="zh"> 上下文 </div> <div class="en"> contex </div> 162 * @param width 163 * <div class="zh"> 图像宽度 </div> <div class="en"> width </div> 164 * @param height 165 * <div class="zh"> 图像高度 </div> <div class="en"> height </div> 166 */ 167 void init(Context context, int width, int height); 168 169 /** 170 * <div class="zh"> 扫描解码 </div> <div class="en"> scanner decode </div> 171 * 172 * @param data 173 * <div class="zh"> 需要解码的原始数据 </div> <div class="en"> original data that needs to be decoded </div> 174 * @return <div class="zh"> 解码结果{@link DecodeResult},返回null代表不支持 </div> <div class="en"> Decoding results 175 * {@link DecodeResult}, return null mean not support. </div> 176 */ 177 DecodeResult decode(byte[] data); 178 /** 179 * <div class="zh"> 扫描解码 </div> <div class="en"> scanner decode </div> 180 * 181 * @param data 182 * <div class="zh"> 需要解码的原始数据 </div> <div class="en"> original data that needs to be decoded </div> 183 * @return <div class="zh"> 解码后的原始结果{@link DecodeResultRaw},返回null代表不支持 </div> <div class="en"> raw decoding results 184 * {@link DecodeResultRaw}, return null mean not support. </div> 185 */ 186 DecodeResultRaw decodeRaw(byte[] data); 187 188 /** 189 * <div class="zh"> 扫描解码 </div> <div class="en"> scanner decode </div> 190 * 191 * @param data 192 * <div class="zh"> 需要解码的原始数据 </div> <div class="en"> original data that needs to be decoded </div> 193 * @param timeout 194 * <div class="zh"> 超时时间 。大于等于500。单位:毫秒。</div> <div class="en"> Timeout. 500 or more. Unit: Millisecond.</div> 195 * @return <div class="zh"> 解码后的原始结果{@link DecodeResultRaw},返回null代表不支持 </div> <div class="en"> raw decoding results 196 * {@link DecodeResultRaw}, return null mean not support. </div> 197 */ 198 DecodeResultRaw decodeRaw(byte[] data,long timeout); 199 200 /** 201 * <div class="zh">释放资源</div> <div class="en"> release </div> 202 */ 203 void release(); 204}