• 廣東明創智慧科技有限公司是中國專業的身份證閱讀器供應商,
  • 專注身份證閱讀器、指紋采集儀、社保卡讀卡器、IC卡讀寫器的一家身份證應用服務平臺
服務熱線:400-0020-908 官方微信 產品標簽 網站地圖 EN

明創智慧

當前位置: 首頁 > 服務支持專區 > SDK開發包 > 正文

明創IDR-100YB云解碼藍牙身份證閱讀器Android開發包

來源:www.mingcreate.cn   標簽:云解碼 藍牙 IDR-100YB DK309   最近更新:2022-2-19

111.jpg

本開發包支持明創云解碼藍牙身份證閱讀器,支持型號IDR-100YB、DK309系列云解碼讀卡器。

點擊這里下載↓



public class IDCardData {

    public final static int ID_TYPE_CN = 1;       //身份證類型-居民身份證

    public final static int ID_TYPE_GAT = 2;      //身份證類型-港澳臺居民身份證

    public final static int ID_TYPE_FOREIGN = 3;  //身份證類型-外國人永久居留身份證


    public String Name = null;                   // 姓名

    public String Sex = null;                    //性別

    public String Nation = null;                 //名族

    public String Born = null;                   //出生

    public String Address = null;                //住址

    public String IDCardNo = null;               //身份證號

    public String GrantDept = null;              //簽發機關

    public String UserLifeBegin = null;          //有效期起始日期

    public String UserLifeEnd = null;            //有效期結束日期

    public String passport = null;               //通行證號碼

    public String issueNumber = null;            //簽發次數


    public Bitmap PhotoBmp = null;

    public byte[] fingerprintBytes = null;       //指紋數據

    public int type = 0;


    public IDCardData(byte[] idCardBytes){


        if (idCardBytes.length < 1295) {

            return;

        }


        if ( (idCardBytes[0] == (byte)0xaa)

                && (idCardBytes[1] == (byte)0xaa)

                && (idCardBytes[2] == (byte)0xaa)

                && (idCardBytes[3] == (byte)0x96)

                && (idCardBytes[4] == (byte)0x69)) {


            //int totalLen = ((idCardBytes[5] & 0xff) << 8) | (idCardBytes[6] & 0xff);

            int wordMsgBytesLen = ((idCardBytes[10] & 0xff) << 8) | (idCardBytes[11] & 0xff);

            int photoMsgBytesLen = ((idCardBytes[12] & 0xff) << 8) | (idCardBytes[13] & 0xff);


            byte[] wordMsgBytes = new byte[wordMsgBytesLen];

            byte[] photoMsgBytes = new byte[photoMsgBytesLen];


            if (idCardBytes.length == 1295) {   //不帶指紋

                System.arraycopy(idCardBytes, 14, wordMsgBytes, 0, wordMsgBytesLen);

                System.arraycopy(idCardBytes, 14 + wordMsgBytesLen, photoMsgBytes, 0, photoMsgBytesLen);

            }

            else {   //帶指紋

                int fingerprintBytesLen = ((idCardBytes[14] & 0xff) << 8) | (idCardBytes[15] & 0xff);   //指紋長度

                fingerprintBytes = new byte[fingerprintBytesLen];

                System.arraycopy(idCardBytes, 16, wordMsgBytes, 0, wordMsgBytesLen);

                System.arraycopy(idCardBytes, 16 + wordMsgBytesLen, photoMsgBytes, 0, photoMsgBytesLen);

                System.arraycopy(idCardBytes, 16 + wordMsgBytesLen + photoMsgBytesLen, fingerprintBytes, 0, fingerprintBytesLen);

            }


            //判斷身份證的類型是否為港澳臺身份證

            if (wordMsgBytes[248] == 'J') {

                type = ID_TYPE_GAT;

            }

            else if (wordMsgBytes[248] == 'I') {

                type = ID_TYPE_FOREIGN;

            }

            else {

                type = ID_TYPE_CN;

            }


            byte[] bytes;

            String str;

            int index = 0;


            //姓名

            bytes = new byte[30];

            System.arraycopy(wordMsgBytes, index, bytes, 0, bytes.length);

            index += bytes.length;

            try {

                Name = new String(bytes, "UTF_16LE");

            } catch (UnsupportedEncodingException e) {

                e.printStackTrace();

            }


            //性別

            if (wordMsgBytes[30] == 0x31) {

                Sex = "男";

            }

            else {

                Sex = "女";

            }

            index += 2;


            //名族

            if (type == ID_TYPE_CN) {

                bytes = new byte[4];

                System.arraycopy(wordMsgBytes, index, bytes, 0, bytes.length);

                try {

                    str = new String(bytes, "UTF_16LE");

                    if (str.length() == 2) {

                        int nationCode = Integer.valueOf(str, 10);

                        Nation = getNation(nationCode);

                    }

                } catch (Exception e) {

                    e.printStackTrace();

                }

            }

            index += 4;


            //出生

            bytes = new byte[16];

            System.arraycopy(wordMsgBytes, index, bytes, 0, bytes.length);

            index += bytes.length;

            try {

                Born = new String(bytes, "UTF_16LE");

            } catch (UnsupportedEncodingException e) {

                e.printStackTrace();

            }


            //住址

            bytes = new byte[70];

            System.arraycopy(wordMsgBytes, index, bytes, 0, bytes.length);

            index += bytes.length;

            try {

                Address = new String(bytes, "UTF_16LE");

            } catch (UnsupportedEncodingException e) {

                e.printStackTrace();

            }


            //身份證號

            bytes = new byte[36];

            System.arraycopy(wordMsgBytes, index, bytes, 0, bytes.length);

            index += bytes.length;

            try {

                IDCardNo = new String(bytes, "UTF_16LE");

            } catch (UnsupportedEncodingException e) {

                e.printStackTrace();

            }


            //簽發機關

            bytes = new byte[30];

            System.arraycopy(wordMsgBytes, index, bytes, 0, bytes.length);

            index += bytes.length;

            try {

                GrantDept = new String(bytes, "UTF_16LE");

            } catch (UnsupportedEncodingException e) {

                e.printStackTrace();

            }


            //有效起始日期

            bytes = new byte[16];

            System.arraycopy(wordMsgBytes, index, bytes, 0, bytes.length);

            index += bytes.length;

            try {

                UserLifeBegin = new String(bytes, "UTF_16LE");

            } catch (UnsupportedEncodingException e) {

                e.printStackTrace();

            }


            //有效結束日期

            bytes = new byte[16];

            System.arraycopy(wordMsgBytes, index, bytes, 0, bytes.length);

            index += bytes.length;

            try {

                UserLifeEnd = new String(bytes, "UTF_16LE");

            } catch (UnsupportedEncodingException e) {

                e.printStackTrace();

            }


            //港澳臺身份證

            if (type == ID_TYPE_GAT) {

                //通行證號碼

                bytes = new byte[18];

                System.arraycopy(wordMsgBytes, index, bytes, 0, bytes.length);

                index += bytes.length;

                try {

                    passport = new String(bytes, "UTF_16LE");

                } catch (UnsupportedEncodingException e) {

                    e.printStackTrace();

                }


                //簽發次數

                bytes = new byte[4];

                System.arraycopy(wordMsgBytes, index, bytes, 0, bytes.length);

                index += bytes.length;

                try {

                    issueNumber = new String(bytes, "UTF_16LE");

                } catch (UnsupportedEncodingException e) {

                    e.printStackTrace();

                }

            }


            //照片解碼

            if (photoMsgBytesLen > 0) {

                try {

                    byte[] buf=new byte[Wlt2Bitmap.IMG_LENGTH];

                    if (1 == Wlt2Bitmap.wlt2Bmp (photoMsgBytes, buf)) {

                        PhotoBmp = Wlt2Bitmap.Bgr2Bitmap (buf);

                    }

                } catch (Exception e) {

                    e.printStackTrace();

                }

            }

        }

    }


    String getNation(int code){

        switch(code){

            case 01:  return "漢";

            case 02:  return "蒙古";

            case 03:  return "回";

            case 04:  return "藏";

            case 05:  return "維吾爾";

            case 06:  return "苗";

            case 07:  return "彝";

            case 8:   return "壯";

            case 9:   return "布依";

            case 10:  return "朝鮮";

            case 11:  return "滿";

            case 12:  return "侗";

            case 13:  return "瑤";

            case 14:  return "白";

            case 15:  return "土家";

            case 16:  return "哈尼";

            case 17:  return "哈薩克";

            case 18:  return "傣";

            case 19:  return "黎";

            case 20:  return "傈僳";

            case 21:  return "佤";

            case 22:  return "畬";

            case 23:  return "高山";

            case 24:  return "拉祜";

            case 25:  return "水";

            case 26:  return "東鄉";

            case 27:  return "納西";

            case 28:  return "景頗";

            case 29:  return "柯爾克孜";

            case 30:  return "土";

            case 31:  return "達斡爾";

            case 32:  return "仫佬";

            case 33:  return "羌";

            case 34:  return "布朗";

            case 35:  return "撒拉";

            case 36:  return "毛南";

            case 37:  return "仡佬";

            case 38:  return "錫伯";

            case 39:  return "阿昌";

            case 40:  return "普米";

            case 41:  return "塔吉克";

            case 42:  return "怒";

            case 43:  return "烏孜別克";

            case 44:  return "俄羅斯";

            case 45:  return "鄂溫克";

            case 46:  return "德昂";

            case 47:  return "保安";

            case 48:  return "裕固";

            case 49:  return "京";

            case 50:  return "塔塔爾";

            case 51:  return "獨龍";

            case 52:  return "鄂倫春";

            case 53:  return "赫哲";

            case 54:  return "門巴";

            case 55:  return "珞巴";

            case 56:  return "基諾";

            case 97:  return "其他";

            case 98:  return "外國血統中國籍人士";

            default : return "";

        }

    }


    public String toString() {

        if (type == ID_TYPE_GAT) {

            return "\r\n姓        名:" + Name

                    + "\r\n性        別:" + Sex

                    + "\r\n出生日期:" + Born

                    + "\r\n住        址:" + Address

                    + "\r\n身份 證號:" + IDCardNo

                    + "\r\n簽發 機關:" + GrantDept

                    + "\r\n有  效  期:" + UserLifeBegin + "-" + UserLifeEnd

                    + "\r\n通行 證號:" + passport

                    + "\r\n簽發 次數:" + issueNumber;

        }

        else {

            return "\r\n姓        名:" + Name

                    + "\r\n性        別:" + Sex

                    + "\r\n名        族:" + Nation

                    + "\r\n出生日期:" + Born

                    + "\r\n住        址:" + Address

                    + "\r\n身份 證號:" + IDCardNo

                    + "\r\n簽發 機關:" + GrantDept

                    + "\r\n有  效  期:" + UserLifeBegin + "-" + UserLifeEnd;

        }

    }

}






(*由于產品升級或其他原因,明創IDR-100YB云解碼藍牙身份證閱讀器Android開發包產品實際參數有可能變更,以實際產品為準。本文中的所有陳述、信息和建議也不構成任何明示或暗示的擔保)

欧美国产在线视频 | 日韩精品在线免费观看 | 亚洲色图在线观看 | 久久久国产精品黄毛片 | 成人精品在线视频 | 国产精品一区二区三区在线 | 国产精品电影在线观看 | 久久综合一区 | 最新av| 青青草网站 | 一区二区免费在线观看 | 国产伦精品一区二区 | 亚洲精品a | 性生活毛片 | 亚洲精品18在线观看 | 精品无码国产一区二区三区51安 | 米奇影院7777免费观看高清完整喜剧电影 | 最新中文字幕在线 | 一本色道久久综合亚洲精品小说 | 欧美成人综合 | 欧美精品久久久久久久 | 国产福利小视频 | 一本色道久久综合亚洲精品按摩 | 亚洲免费观看高清完整版在线观看 | 日本三级吃奶头添泬无码苍井空 | 久免费一级suv好看的国产 | 91免费看片 | 黄瓜视频在线免费观看 | 青青草免费在线视频 | 国产又粗又大又黄 | 国产久久精品 | 欧美一级黄色大片 | 九九热精品视频 | 成人av免费观看 | 国产精品一区二区在线播放 | 亚洲男人的天堂av | 男人添女人下部高潮全视频 | 超碰精品在线 | 色噜噜av | 伊人网站| 97久久精品 | 亚洲免费在线观看 | 亚洲综合欧美 | www.青青草| 久久久精品国产sm调教网站 | 亚洲人午夜射精精品日韩 | 韩国精品一区二区 | 91在线观看免费高清 | 国产超碰在线 | 91蜜臀| 亚洲播播 | 亚洲区在线 | 午夜在线影院 | 欧美天天干 | 少妇免费视频 | 午夜精品久久久久久久99老熟妇 | 国产免费高清 | 久久久黄色片 | 国产精品理论片 | 男人午夜影院 | 四虎黄色影院 | 日韩另类 | 蜜桃成人无码区免费视频网站 | 波多野结衣一区 | 荫蒂被男人添免费视频 | 性生交大片免费看 | 99久久视频| 成人aaa| 午夜在线影院 | 中文字幕免费在线 | 日韩视频在线观看免费 | 黄网在线看 | 免费亚洲视频 | 国产日韩一区二区三免费高清 | 亚洲午夜在线 | 波多野结衣乳巨码无在线观看 | 亚洲人在线 | 日韩黄色网 | 狠狠操天天操 | 黄色网炮 | 爆操少妇 | 尤物视频在线播放 | 欧美色图第一页 | 成年人黄色 | 日本丰满熟妇bbxbbxhd | 一区二区三区在线播放 | 裸体的日本在线观看 | 久久h| 久久69| 亚洲欧美色图 | 单身男女韩剧免费观看 | 波多野结衣视频在线观看 | 国产精品无码一区二区桃花视频 | 成人片网址 | 自拍偷拍国产 | 明星双性精跪趴灌满h | 最新中文字幕 | 亚洲精品免费看 | 最新av在线 | 欧美污视频 | 亚洲卡一卡二 | 人妻无码中文字幕免费视频蜜桃 | 成人在线观看免费 | 免费的性爱视频 | 麻豆射区| 91在线影院| 亚洲免费观看高清完整版在线 | 久久88| 三级中文字幕 | 成年女人免费视频 | 人人爽久久涩噜噜噜网站 | 男女www | 亚洲乱熟女一区二区 | av先锋影音| 韩国伦理在线 | 97人妻精品一区二区三区软件 | 欧美日韩国产一区二区 | 国产精品国产精品国产专区不片 | 免费h片| va在线 | 亚洲精品久久久久中文字幕二区 | 麻豆激情 | 亚洲免费在线观看视频 | 尤物在线视频 | 香蕉伊人| 成人免费视频网站在线看 | 狠狠干综合网 | 91精品久久香蕉国产线看观看 | 我要看一级片 | 蜜桃精品一区二区三区 | 绝顶高潮videos合集 | 免费的av网站 | 成人午夜视频在线观看 | 欧美日本在线观看 | 999在线视频 | 亚洲中文字幕一区 | 综综综综合网 | 黄色日批 | 蜜桃视频com.www | gogogo日本免费观看电视剧最 | 北条麻妃av在线 | 人妻一区二区三区四区 | 欧美高清一区 | 久久手机视频 | 色片在线观看 | 国产一区久久 | 三级久久 | 成人av免费在线观看 | 特级西西444www大精品视频 | 天天干天天操天天爽 | 欧美一区二区在线观看 | 国产裸体美女永久免费无遮挡 | 二区三区 | 1000部多毛熟女毛茸茸 | 两性午夜视频 | sm调教母狗 | 全部孕妇毛片丰满孕妇孕交 | 高中男男gay互囗交观看 | 精产国品一区二区三区 | 亚洲精品无码久久久 | 国产做爰xxxⅹ久久久精华液 | 久久精品免费 | 久久免费高清视频 | 女上男下动态图 | 日日夜夜精品视频 | 亚洲三级av | 亚洲人成在线观看 | av久久| 国产精品久久久久久久午夜 | 91成人在线观看喷潮动漫 | 亚洲激情视频在线观看 | 精品人妻一区二区三区日产乱码 | av在线一区二区 | 天堂中文av | 精品国产欧美一区二区三区成人 | 五月天婷婷丁香 | 草莓在线| 国产精品自拍第一页 | 亚欧在线| 男人的天堂亚洲 | 超碰人人草 | 欧美激情视频一区二区三区不卡 | 国产伦精品一区二区三区免费 | 亚洲午夜视频 | 水果派av解说 | 老司机午夜视频 | 国语对白做受按摩的注意事项 | 特级黄色录像 | 巨乳的诱惑 | 欧美一区视频 | 国产哺乳奶水91在线播放 | 欧美亚洲在线 | 波多野结衣在线观看视频 | 波多野结衣网站 | 91最新地址 | 猛1被调教成公厕尿便失禁网站 | 国产精品久久久久久妇女6080 | 91精品国产综合久久久久久 | 在线观看国产 | 久久99精品久久久久久 | 亚洲一区久久 | 天堂中文在线资源 | av激情网 | 亚洲综合精品 | 极品美女高潮出白浆 | 欧美三级视频在线观看 | 亚洲另类色综合网站 | 精品少妇 | 91久久精品日日躁夜夜躁国产 | 一本色道久久加勒比精品 | 免费在线观看黄 | 久草热视频 | 亚洲一区二区三区在线 | 日韩视频一区 | 欧美熟妇精品黑人巨大一二三区 | 被闺蜜玩sm(女绑女) | 国产伦精品一区二区 | 爆操少妇| 黄色大片免费看 | 亚洲天堂视频在线观看 | 亚洲一区二区三 | 亚洲区在线| 男人天堂网av | 欧美日韩精品一区二区三区 | 午夜大片| 五月婷婷综合网 | www.超碰| 性做久久久 | 久久久久久久久久久久久久久 | 91在线精品秘密一区二区 | 精品久久久久久久久久久久久 | 久久精品在线视频 | 经典杯子蛋糕日剧在线观看免费 | 亚洲精品国偷拍自产在线观看蜜桃 | 欧美性生活视频 | 男男h黄动漫啪啪无遮挡软件 | 精品九九| 精品人伦一区二区三区 | 男男在线观看 | 亚洲成人精品 | 国产精品www | 三级黄色网 | 午夜黄色影院 | 四季av一区二区凹凸精品 | 九九自拍 | 精品无码国产一区二区三区51安 | 国产精品久久777777 | 午夜免费 | 九色自拍 | 偷拍亚洲色图 | 美女超碰| 五月开心网 | 国产乱人伦 | 午夜三级电影 | 成人午夜福利视频 | 午夜精品久久久久久久 | 北岛玲在线 | 粗长+灌满h双龙h男男室友猛 | 久久久久中文字幕 | 天天拍天天干 | 国产免费一区二区三区最新不卡 | 久久免费av | 久草超碰 | 婷婷午夜天| 日本在线播放 | 国产精品视频免费 | 欧美性69 | 嫩草视频在线观看 | 爱爱综合网 | 国产精品久久久国产盗摄 | 国内精品国产成人国产三级 | 乳色吐息在线观看 | 一级伦理片 | 人人爽久久涩噜噜噜网站 | 日韩欧美一级 | 日本免费高清 | 精品久久久久久久久久久久久久 | 狠狠操av | 激情 小说 亚洲 图片 伦 | 嫩草国产 | 麻豆视频在线免费观看 | 久久男人 | 中文字幕在线免费视频 | 亚洲成人免费 | 亚洲精品麻豆 | 日韩精品久久久久久久酒店 | 亚洲无码精品在线观看 | 国产传媒视频 | 欧洲熟妇的性久久久久久 | 少妇做爰www| 六月色婷婷| 麻豆一区二区三区 | 国产无精乱码一区二区三区 | 国内精品国产成人国产三级 | 免费看裸体视频 | 香蕉国产| 人人爽人人爱 | 午夜大片| 操日本女人 | 男人天堂影院 | 欧美日韩第一页 | 无码人妻一区二区三区免费n鬼沢 | 爽躁多水快深点触手 | 日韩毛片在线观看 | 日韩在线电影 | 天天干夜夜艹 | 欧日韩av | 91丨porny丨尤物 | 91亚洲精品久久久久久久久久久久 | 欧美成人免费视频 | 人人爽久久涩噜噜噜网站 | 一区二区三区精品 | 国产精品一区二区在线观看 | 亚洲狠狠操 | 国产无套内射普通话对白 | 另类小说五月天 | 最好看的2019年中文在线观看 | 欧美精品一 | 国产综合在线视频 | 2019中文字幕在线观看 | 人人插人人爽 | 国产欧美熟妇另类久久久 | 男男做性免费视频网 | 黄色91视频 | 国产激情网站 | 精品人妻一区二区三区含羞草 | 波多野结衣电影在线播放 | 中文在线字幕免费观 | 风间由美在线观看 | 久久久久久久av | 成人国产精品久久久网站 | 无码国产精品一区二区高潮 | 天天弄| 国产一级自拍 | 91资源站| 国产精品偷乱一区二区三区 | 亚洲精品小视频 | 国产精品永久免费 | 久久免费高清视频 | 中出在线 | 搡老岳熟女国产熟妇 | av黄色在线观看 | 欧美美女视频 | 国产1区2区 |