• 廣東明創智慧科技有限公司是中國專業的身份證閱讀器供應商,
  • 專注身份證閱讀器、指紋采集儀、社保卡讀卡器、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開發包產品實際參數有可能變更,以實際產品為準。本文中的所有陳述、信息和建議也不構成任何明示或暗示的擔保)

欧美日韩一区二区三区不卡 | 国产精品一区二区在线免费观看 | 色国产视频 | 亚洲一区久久久 | 婷婷色综合网 | 一级片免费在线 | 综合色影院 | 豆豆色资源网xfplay | 婷婷久草| 97超碰免费在线 | 国产精品久久伊人 | 国产精品入口a级 | 精品91在线| 人人看人人做人人澡 | 综合av在线| 日韩高清不卡一区二区三区 | 日韩免费电影在线观看 | 久久免费视频4 | 久久99视频精品 | 久久资源总站 | 综合网中文字幕 | 中文字幕在线免费观看 | 日本中文字幕电影在线免费观看 | 久久伦理电影网 | 国产99久久精品一区二区永久免费 | 免费国产在线精品 | 日日操日日插 | 久久久久免费精品 | 在线观看av免费观看 | 国产婷婷一区二区 | 亚洲精品国偷自产在线91正片 | 欧美国产一区二区 | 日本韩国精品一区二区在线观看 | 久久精品国产免费 | 日韩专区在线观看 | 美女国产精品 | 成人动漫精品一区二区 | 成年人黄色在线观看 | 国产精品九色 | 伊人黄色网 | 国内精品亚洲 | 国产黄色大片 | a级片韩国 | 午夜精品久久久久久久99无限制 | 日韩在线观看视频中文字幕 | 九九热久久久 | 日韩有码在线播放 | 国产精品视频你懂的 | 97国产在线播放 | 色综合久久久久综合体 | 日韩久久久久 | 91精品在线视频观看 | 日韩免费看视频 | 综合色站导航 | 久久久伊人网 | 久久天堂亚洲 | 中文字幕在线影院 | 国产男女爽爽爽免费视频 | 国产精品毛片一区二区在线 | 成人网444ppp | av电影免费观看 | 日韩a在线播放 | 日韩在线视频免费播放 | 久久久久久久久影院 | 久久精品婷婷 | 久久一久久 | 成人欧美日韩国产 | 人人澡人人添人人爽一区二区 | 91精品啪在线观看国产81旧版 | 麻豆视频在线免费 | 亚洲作爱视频 | 精品国产中文字幕 | 欧美在线视频a | 亚洲精品自拍 | www.91国产| 午夜少妇一区二区三区 | 五月婷婷久草 | 96精品视频 | 成人久久18免费 | 日韩在线视频线视频免费网站 | 天天干天天在线 | 亚洲日日夜夜 | 深爱开心激情网 | 国产不卡在线观看视频 | 色av网站 | 亚洲国产精品成人精品 | avav99| 久久涩视频 | 三上悠亚一区二区在线观看 | 视频在线观看91 | 国产高清在线不卡 | 亚洲精品视频免费看 | zzijzzij亚洲日本少妇熟睡 | 天天色天天骑天天射 | 亚洲欧美日韩中文在线 | 国产日韩欧美在线观看视频 | 国产一区91 | 日韩h在线观看 | 国产精品毛片久久久久久久久久99999999 | 久久人人爽人人 | 久草在线视频中文 | 国产精品久久久久一区二区三区 | 国产一级视频在线观看 | 91在线视频免费 | 有没有在线观看av | 久久国产精品电影 | 日韩av影视在线 | 一级电影免费在线观看 | 蜜臀av性久久久久蜜臀aⅴ涩爱 | 亚洲免费观看视频 | 国产成人精品久 | 久久婷婷色 | 视频在线观看99 | 天天操天天弄 | 成人三级av | 日韩成人精品在线观看 | 欧美一区日韩一区 | 精品国自产在线观看 | 狠狠久久综合 | 中文国产在线观看 | 亚洲精品男人的天堂 | 午夜在线资源 | 国产精品黑丝在线观看 | 91福利视频久久久久 | 91精品久久久久久综合乱菊 | 91爱爱网址 | 久久99久国产精品黄毛片入口 | 精品自拍av | 欧美日本不卡高清 | 天天操天天射天天插 | 国产在线a免费观看 | 久久久黄视频 | 婷婷六月久久 | 免费黄色在线 | 日韩资源在线播放 | 国产精品久久婷婷六月丁香 | 人人爱人人射 | а天堂中文最新一区二区三区 | a在线观看视频 | av福利在线 | 人人爽久久涩噜噜噜网站 | 天天干天天做天天爱 | 天天综合视频在线观看 | 人人插人人草 | 最新精品视频在线 | 丝袜制服天堂 | 亚洲精品视 | 91高清一区 | 在线观看深夜福利 | 成人久久免费 | 丁香av | 欧美人人| 久久综合影音 | 国产精品video | 一区二区三区四区久久 | av不卡中文| 午夜精品久久久久久久爽 | 精品国产一区二区三区四区vr | 在线不卡视频 | 亚洲最新在线视频 | 中文久久精品 | 色婷婷狠狠操 | 久久 精品一区 | 亚洲三级毛片 | 免费在线中文字幕 | 亚洲91av| 国模视频一区二区三区 | 久久免费中文视频 | 97色在线观看 | 五月婷久久 | 免费高清国产 | 免费观看www7722午夜电影 | 久草视频免费在线播放 | 欧美日韩在线观看视频 | 在线观看av不卡 | 国产韩国日本高清视频 | 成人av在线直播 | 日韩欧美精品在线视频 | 色偷偷中文字幕 | 中文字幕av日韩 | 成人午夜性影院 | 人人爽久久久噜噜噜电影 | 91中文字幕在线视频 | 欧美黑人xxxx猛性大交 | 久久久久国产精品午夜一区 | 日本黄色特级片 | 91福利免费 | 黄色一级免费 | 久久www免费人成看片高清 | 91香蕉视频720p | 麻豆一二| 国产在线视频导航 | 香蕉视频在线播放 | 久久久久久久久精 | 91亚洲欧美| 色av资源网 | www.成人精品 | 中文字幕一区二区三区四区在线视频 | 午夜精品婷婷 | 日韩在线中文字幕视频 | 久久av伊人 | 亚洲视频在线观看网站 | 欧美精品第一 | 欧美午夜视频在线 | 91尤物国产尤物福利在线播放 | 国产精品18久久久久久不卡孕妇 | 国产午夜精品一区二区三区欧美 | 精品一区二区三区在线播放 | 婷婷久久一区二区三区 | 天天爽夜夜爽人人爽曰av | 国产精品毛片一区 | 久久精品国产第一区二区三区 | 四虎永久网站 | 国产日韩精品视频 | 波多野结衣在线观看一区二区三区 | 亚洲精品免费视频 | 国产婷婷视频在线 | 欧美日韩视频一区二区三区 | 欧美一级艳片视频免费观看 | av一级网站| 国产另类av| 国产黄大片在线观看 | 欧洲激情在线 | 婷婷免费视频 | 久久精品电影 | 亚洲网站在线看 | 国产精品久久久久永久免费看 | 三上悠亚在线免费 | 国产小视频在线播放 | 国产精品正在播放 | 国产一区二区三区免费在线观看 | 国产手机视频在线 | 国产精品黑丝在线观看 | 99久久精品无码一区二区毛片 | 国产欧美精品一区aⅴ影院 99视频国产精品免费观看 | 日韩视频免费看 | 成人在线观看资源 | 国产精品一区二区久久国产 | 午夜美女福利 | 99国产精品 | 日韩精品免费 | 婷婷激情综合 | 在线视频日韩精品 | 婷婷在线免费视频 | 国产美腿白丝袜足在线av | 丁香花中文在线免费观看 | 伊人六月 | 欧美日韩精品综合 | 中国一级片在线观看 | 亚洲人成人天堂h久久 | 天天操天天干天天操天天干 | 精品一区二区三区久久 | 精品国产1区2区 | 丁香激情综合久久伊人久久 | 黄色大片日本 | 欧美午夜理伦三级在线观看 | 国产亚洲精品久久久久久 | 激情综合网色播五月 | 天天伊人网 | 波多野结衣在线观看一区二区三区 | 久久99国产精品久久99 | 最新免费中文字幕 | 久久久国产一区二区三区四区小说 | av在线免费网站 | 一二三精品视频 | 一区二区三区视频网站 | 日日夜夜中文字幕 | 日韩有码第一页 | 久久男人影院 | 国产成人久久精品一区二区三区 | 99精品免费久久久久久久久 | 欧美日韩一区二区三区在线观看视频 | 免费麻豆视频 | 日韩一区正在播放 | 国产又粗又硬又爽的视频 | 亚洲婷婷伊人 | 麻豆国产精品永久免费视频 | 99久久99视频只有精品 | 久久香蕉国产 | 国产一区在线观看视频 | 国产成人三级在线 | 亚洲激情中文 | 在线导航福利 | 中文字幕亚洲综合久久五月天色无吗'' | 不卡的av在线 | 国产福利在线不卡 | 天天操操操操操 | 97视频免费在线观看 | 五月激情五月激情 | 丁香婷婷综合色啪 | 国产精品久久久久久久久久久久午夜片 | 久久99久久久久 | av色网站 | 国产性天天综合网 | 69亚洲视频| 97成人在线视频 | 国产精品久久久久久久久久99 | 天天·日日日干 | 久99久中文字幕在线 | 午夜少妇一区二区三区 | 狠狠色香婷婷久久亚洲精品 | 久热精品国产 | 国产日韩欧美在线观看视频 | 久久免费视屏 | 天天操天天爽天天干 | 欧美成人精品欧美一级乱黄 | 丁香六月在线 | 中文字幕在线观看av | 久久午夜视频 | 激情小说网站亚洲综合网 | 久久国产欧美日韩精品 | 国产麻豆精品95视频 | 深夜福利视频在线观看 | 日本91在线 | 在线观看成人国产 | 亚洲97在线 | 99热在线看 | 欧美9999| 麻豆网站免费观看 | 亚洲在线| 丁香在线观看完整电影视频 | 中文字幕免费播放 | 久久综合九色综合久久久精品综合 | 91传媒在线看 | 91大神精品视频在线观看 | 欧美久久99 | 日韩欧美精品一区 | 免费观看视频的网站 | 丁香婷婷社区 | 久久人人射 | 国产精品免费在线观看视频 | 成年人免费在线观看网站 | 成人久久久久 | 中文字幕av电影下载 | 国产视频精品免费播放 | 国产xxxx| 亚洲3级| 国产在线精品一区 | 13日本xxxxxⅹxxx20| 五月开心六月伊人色婷婷 | 二区三区中文字幕 | 永久av免费在线观看 | 国产资源| 丝袜美女在线 |