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

h片在线免费观看 | 亚洲熟女乱色综合亚洲av | av成人在线观看 | 国产精品久久久 | 国产99久久九九精品无码免费 | 国产一区二区三区免费观看 | 五月综合激情 | 影音先锋在线视频 | 国产精品理论片 | 麻豆一级片 | 密桃成熟时在线观看 | 麻豆影音 | 亚洲午夜精品久久久久久app | 国产极品美女高潮无套嗷嗷叫酒店 | 91视频麻豆| 97午夜| 国产又粗又猛又爽 | 欧美a∨| 国产性生活视频 | 国产精品第二页 | 亚洲天堂中文字幕 | 超碰98 | 国产成人精品一区二区三区在线 | 岳奶大又白下面又肥又黑水多 | 少妇高潮久久久久久潘金莲 | 浓精喷进老师黑色丝袜在线观看 | 影音先锋国产精品 | 成人性爱视频在线观看 | www国产精品| 中国一级特黄真人毛片免费观看 | 日本美女视频 | 99视频精品 | 综合一区 | 三级黄色片网站 | 成人免费视频网站在线看 | 黄色天堂 | 欧美一二三 | 亚洲另类视频 | 欧美亚洲天堂 | 欧美另类z0z变态 | 色在线播放 | 色视频在线 | 香蕉视频在线看 | 国产日韩精品视频 | 久久久久无码国产精品一区 | 国产女主播在线观看 | 日韩免费毛片 | 国产成人综合网 | 有码一区二区 | 超碰最新网址 | 野外猛男的大粗鳮1巴 | 色欲狠狠躁天天躁无码中文字幕 | 久久久美女 | 欧美视频一区 | 一区二区三区人妻 | 精品欧美一区二区三区 | 免费在线观看黄色网址 | 全是肉的高h文〈男男〉 | 亚洲国产精品视频 | 国产二区三区 | 狠狠干网 | 国产激情在线视频 | 黄色一极片 | 先锋资源av | 免费成人av | 成人免费网站在线观看 | 国产精品黄色片 | 亚洲精品99| 国产精品一区二区人妻喷水 | 粉粉嫩嫩的18虎白女 | 亚洲第一网站 | 伊人激情网 | 国产婷婷色一区二区三区 | 秋霞午夜鲁丝一区二区 | 网站你懂得 | 中国黄色大片 | 中文字幕一级片 | 午夜小电影 | 日韩色区 | 中文字幕在线免费观看视频 | 久久亚洲国产 | 成人午夜在线观看 | 天天拍天天操 | 一二三四区视频 | 国产白丝精品91爽爽久久 | 干爹你真棒插曲免费 | 91成人在线观看喷潮 | 国产美女一区 | 吃奶动态图 | 粗暴浪荡羞辱粗口hh | 蜜臀久久| 一区二区三区不卡视频 | 男人的天堂影院 | 在线天堂av| 亚洲免费观看视频 | av毛片在线 | 一区二区三区网站 | 久免费一级suv好看的国产 | 少妇在线观看 | 久久一| 午夜视频在线免费观看 | 亚洲视频免费观看 | 午夜精品视频在线观看 | 免费黄色片网站 | 中文字幕在线观看网站 | 欧美午夜精品一区二区 | 国产激情小视频 | 国产日韩在线播放 | 在线观看特色大片免费网站 | 91超碰在线观看 | 成人福利视频 | 欧美激情一区二区 | 国产精品区二区三区日本 | 影音先锋成人资源 | 天天操夜夜操狠狠操 | 91精选 | 精品人妻一区二区三区浪潮在线 | 一区在线播放 | www.国产一区 | 桃色视频 | 免费高清av | 久久一区二区三区四区 | 成人禁污污啪啪入口 | 在线a视频 | 91禁看片 | 国产精品久久久久久久久动漫 | 禁漫天堂在线 | 97影院| 一级在线视频 | 黄色电影免费看 | 午夜福利视频一区二区 | 亚洲色图图片 | 五月花婷婷 | 国产一区二区自拍 | 天天视频国产 | 亚洲夜色 | 性爱动漫 | 免费不卡av | 开心激情站 | av手机在线观看 | 九一九色国产 | 日韩精品网站 | 精品一区二区三区四区 | 黄色a级片 | 国产一区二区三区免费播放 | 欧美高清视频 | 久久视频免费观看 | 久久久久久久电影 | 中文字幕国产精品 | 97视频在线 | 91香蕉国产| 亚洲欧美自拍偷拍 | 一本色道久久综合亚洲精品按摩 | 香蕉视频官网 | 黑人操亚洲女人 | 人人澡人人爽 | 亚洲电影一区二区三区 | 粗长+灌满h双龙h男男室友猛 | 黄色小视频免费观看 | 91蜜桃婷婷狠狠久久综合9色 | 欧美一道本 | 国产欧美自拍 | 草莓视频成人app免费 | 欧美高清视频 | 免费在线看视频 | 亚洲小说春色综合另类电影 | 欧美成人午夜 | 黄色免费av | 日本少妇xxxx动漫 | 久久久久久久久久久久 | 无码精品人妻一区二区三区漫画 | 91亚色视频 | 日本丰满肉感bbwbbwbbw | a片在线免费观看 | 波多野结衣av电影 | 日本中文字幕在线视频 | 91看片网站 | 麻豆传媒在线观看 | 亚洲无码一区二区三区 | 中文字幕一区在线 | 亚洲成人天堂 | 久久99精品国产 | 久免费一级suv好看的国产 | 秘密基地免费观看完整版中文 | 国产三级午夜理伦三级 | aaa国产 | 上海贵妇尝试黑人洋吊 | 污视频在线免费观看 | 免费在线观看www | 成人福利视频 | 日韩三级 | 国产精品一区二区人妻喷水 | 99视频网| 久久久久亚洲av成人无码电影 | 婷婷激情四射 | 特黄三级又爽又粗又大 | 毛片毛片毛片 | 波多野结衣在线播放 | 蜜桃91丨九色丨蝌蚪91桃色 | 欧美激情图 | 免费av片 | 97视频| 国产97视频| 国内精品国产成人国产三级 | 岛国大片在线观看 | 黄网在线免费观看 | 国产视频在线播放 | 国产精品人妻 | 性一交一乱一区二区洋洋av | av天天干| 国产精品久久久久久久久动漫 | 人人妻人人澡人人爽人人欧美一区 | 奇米影视首页 | 一区二区三区四区视频 | 国产黄色小说 | 日本黄色免费视频 | 国产又粗又猛又爽又黄视频 | 中文在线播放 | 欧美视频在线观看 | 久久久久久久亚洲 | 麻豆短视频 | 高清乱码免费 | 黄色片视频 | 精东影业一区二区三区 | 日本黄a三级三级三级 | 亚洲精品一区中文字幕乱码 | 人人做人人爽 | 欧美成人精品一区二区男人看 | 美足av电影| 欧美精品三区 | 欧美 日韩 人妻 高清 中文 | 免费a级| 亚洲国产精品suv | 天天干天天干 | 强行挺进白丝老师翘臀网站 | 国产亚洲天堂 | 夜夜福利 | 欧美日本在线观看 | 亚洲精品在线看 | 欧美成人毛片 | 苍老师诊所电影完整版观看 | 激情文学综合网 | 久久视频在线免费观看 | 97碰碰碰 | 成人黄色免费视频 | 国产精品美女高潮无套 | 中文字幕免费在线 | 国产一区二区三区在线看 | 日韩精品一区在线观看 | 久久久久久久av | 蜜臀av在线观看 | 久久久久久国产 | 日本精品在线播放 | 大j8黑人w巨大888a片 | 中文字幕永久在线 | 免费处女在线破视频 | 日日夜夜精品免费视频 | 天天综合网站 | 亚洲三级av| 午夜av在线| 国产黄色一级 | 国产中文在线观看 | 欧美污视频 | 夜色在线影院 | 一级黄色性生活片 | 日本久久网站 | 日韩精品国产一区二区 | 年代下乡啪啪h文 | 日本在线 | 婷婷九月 | 在线免费观看 | 99在线免费视频 | 日本成人动漫在线观看 | 日本69视频 | 久久国内 | av小说在线观看 | 国产在线免费观看 | 黄色片免费 | 你懂的视频网站 | 日本少妇xxx | 天天操夜夜操狠狠操 | 少妇xxx | 日韩电影中文字幕 | 欧美日韩黄色 | 午夜精品久久久 | 中文字幕精品无码一区二区 | 91视频www| 国产黄色一级片 | 日本一区二区三区在线播放 | 秋霞影院午夜伦 | 色欲av无码一区二区三区 | 欧美性受xxxx黑人xyx性爽 | 亚洲精品97久久中文字幕无码 | 日本美女性爱视频 | 一边摸一边抽搐一进一出视频 | 欧美mv日韩mv国产网站 | 国产精品久久久久久久久 | 国产一区二区三区在线免费观看 | 91麻豆精品国产 | 韩国大尺度电影在线观看 | 国产伦精品一区二区三区免费 | 黄色网页在线观看 | 欧美日本在线 | 中文字幕一区二区三区电影 | 精品五月天 | 亲女小嫩嫩h乱视频 | 丰满熟女人妻一区二区三 | 成人福利网 | 特级特黄aaaa免费看 | 国产精品亚洲无码 | 久久人人爽人人爽人人片 | 樱空桃在线观看 | 黄色综合 | 国产伦精品一区二区三区免费 | 好吊妞这里只有精品 | 91成人在线观看喷潮蘑菇 | 久久天堂 | 99热最新| 色哟哟国产精品 | 日韩欧美一级片 | 国产crm系统91在线 | 亚洲爱情岛论坛永久 | 超碰人人爽 | h网站在线 | 狠狠撸狠狠操 | 国产人成一区二区三区影院 | 久久免费精品视频 | 成人精品视频 | 欧洲女性下面有没有毛发 | 欧美又大粗又爽又黄大片视频 | 国产做受高潮动漫 | 免费看裸体网站 | 精品日韩一区二区 | 精品日韩一区二区 | 色欲av无码一区二区三区 | 黄色污污网站 | 免费黄色一级片 | 激情视频小说 | 深夜福利网址 | 日本精品在线视频 | 风韵丰满熟妇啪啪区老熟熟女 | 精品一区二区三区四区五区 | 国产精品电影网 | 黄色91|