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

2019日韩中文字幕mv| 亚洲天堂婷婷| 免费的色网站| 中文字幕人成乱码熟女app| 特级做a爰片毛片免费69| av超碰| 殴美性生活| 亚洲一区二区三区免费看| 亚洲精品乱码久久久久久9色| 美女销魂一区二区| 国产aaa视频| 少妇专区| 男人的天堂免费一区二区视频| 草草影院ccyycom| 久久人妻少妇嫩草av| 日韩黄色一区| 多毛小伙内射老太婆| 天天尻逼| 一区二区免费高清观看国产丝瓜| 欧美精欧美乱码一二三四区| 久久久久亚洲精品| 亚洲激情成人网| 99er6免费热在线观看精品| www日韩在线观看| 亚洲性色av性色在线观看| 欧美孕妇乳喷奶水在线观看 | 日韩a片无码毛片免费看| 狂野欧美激情性xxxx在线观看| 久久婷婷综合缴情亚洲狠狠_| 免费看污片网站| 国产做a爱免费视频在线观看| 国产精品无码素人福利不卡| 国产卡1卡2 卡三卡在线| 国产精品jizz在线观看网站 | 中日韩在线观看视频| 久久香蕉国产线看观看手机| 在线天堂中文www视软件| 国内精品视频一区二区三区八戒| 在线精品亚洲| 超清av| 日本亚洲高清| 成年人午夜视频| 日韩精品欧美在线成人| 国产一级做a爱片| 无码少妇一区二区三区视频| 成年人免费在线看| 操你妹影院| 日韩最新中文字幕| 国产一区二区三区免费观看网站上| 黄色网址在线免费看| 日韩精品一区中文字幕| 国内精品伊人久久久久影院对白| 日本伦理中文字幕| 99re视频这里只有精品| 免费观看成年人视频| 免费a视频在线观看| 免费视频黄色| 少妇饥渴偷公乱第32章| 色一情一乱一伦一区二区三欧美| 97成人在线| 久久久e热视频| 99久久精品国产免费| 欧美日本免费一区二区三区| 三级日本 三级韩国 三级欧美| 大伊香蕉精品视频在线天堂| 麻豆人妻无码性色av专区| 爱情岛av亚洲论坛自拍品质| 国产成人精品无码免费看| 妓女妓女一区二区三区在线观看| 夜夜偷天天爽夜夜爱| 四虎影库在线播放| 橘梨纱连续高潮在线观看| 国产寡妇树林野战在线播放| 免费乱理伦片在线观看八戒| 欧美www在线观看| 亚洲一级影院| 91av福利视频| 日韩最新网址| 久久久久久久av| 久久精品h| 小罗莉极品一线天在线| 色综合久久av| 国产女主播在线一区二区| 操操操操网| 成人福利免费视频| 真正免费毛片在线播放| 操xxxx| 亚洲精品无圣光一区二区| 激情图片区| 亚洲国产中文字幕在线视频综合| 美女又爽又黄又免费| 亚洲国产婷婷综合在线精品| 少妇饥渴偷公乱第32章| 麻豆网站在线观看| 成人羞羞国产免费网站| 欧美特一级片| 大陆国产乱人伦| 乱亲女h秽乱长久久久| 色欲蜜桃av无码中文字幕| 伊人久久大香线蕉avapp下载| 在线观看国产精品av| 欧美大尺度胸床戏视频| 亚洲一区二区三区中文字幕 | 国产精品麻豆成人av电影| 人妻激情乱人伦| 亚洲最新av在线| 成人本色视频在线观看| 成人无码视频在线观看大全| 黄色片中文字幕| 中文综合在线观| 久热这里只有| 久久精品av国产一区二区| 少妇被黑人4p到惨叫在线观看| 午夜精彩视频| 精品免费久久久| 日韩在线中文高清在线资源| 久久99久久98精品免观看软件| 老熟妇hd小伙子另类| 色香影视| 成人性生交大片xbxb| 日本性猛交| 91看片淫黄大片| 视频一区视频二区制服丝袜| 最新免费av网址| 无码无遮挡又大又爽又黄的视频 | 久久精品国产99国产精品导航| 人人做人碰人人添| 午夜精品影院| 麻豆乱码国产一区二区三区| 国产成人永久免费视频网站| 亚洲欧美精品综合一区| 欧美三级毛片| 欧美又大又色又爽bbbbb片| 91亚洲国产成人精品一区二三| 免费看成人毛片无码视频| 国产日韩精品欧美2020区| 无人区码一码二码三码区别新月| 中文一国产一无码一日韩| 国产精品久久久久久久久久直播| 日本阿v片在线播放免费| 蜜桃av网站| 天天操天天添| 91在线视频导航| 抽插丰满内射高潮视频| 国产成人永久免费视频网站| 久久久久人妻一区精品色| 欧美特级婬片毛多的少妇| 成人高清| 亚洲欧洲一区二区三区四区| 亚洲人成电影网站在线播放| 揉着我的奶从后面进去视频| 少妇扒开双腿自慰出白浆| 一级国产航空美女毛片内谢| 五月天一区二区三区| 夜色jjj.av| av免费播放网站| 欧美又粗又大又硬又长又爽视频| 99无码人妻一区二区三区免费| 国产成人福利美女观看视频| 天天鲁一鲁摸一摸爽一爽视频| 老司机午夜精品视频资源| 精品一区二区三区不卡| 国产麻豆精品一区| 久久影视| 亚洲一线在线观看| 狠狠躁夜夜躁人人爽天天5| 爱爱视频免费看| 欧美日韩在线视频一区二区| 香蕉视频在线观看亚洲| www欧美亚洲| 男生看的污网站| 国产成人免费爽爽爽视频| 97在线观看视频| 国产精品自在拍首页视频| 毛片中文字幕| 成年人看的黄色| 婷婷国产v亚洲v欧美久久| 国产日韩欧美在线播放| 亚洲一卡二卡在线观看| www色com| 潮喷无码正在播放| www日韩高清| 性饥渴少妇av无码毛片| 激情综合色综合啪啪五月丁香| 中文字幕亚洲无线码在线一区| 性久久久久久久| 36d大奶| 国产精品高清一区二区不卡片| 国产精品成人一区二区三区| 成年人免费看毛片| 亚洲欧美经典| 奇米影视777第四色| 国产va精品午夜福利视频| 久久这里只有精品18| 丰满白嫩欧洲美女图片 | 日日操夜夜干| 亚洲爱| 日韩一区二区三区久久 | 午夜在线小视频| 国产9 9在线 | 中文| 草草视频在线观看| 少妇白浆高潮无码免费区| 久久影视院线| 性欧美www| 九九精品99久久久香蕉| 一个人看的日本hd免费| 97爱视频| 国产婷婷久久| 色狠狠久久av五月综合| 热の国产| 欧美一级片网站| 精品国产一区二区国模嫣然| 久久久久国产精品www| 无码免费一区二区三区| 免费人成自慰网站| 亚洲理伦| av无码国产在线看免费网站| 四虎影视永久在线精品播放| 夜晚成人18禁区导航网站| 男人的网站在线观看| 免费在线看黄网址| 国产日韩久久久久| 日韩人妻无码免费视频一区二区| 国产精品嫩草影院com| 俄罗斯xxxx性全过程| 瑟瑟久久| 亚洲免费中文| 懂色av一二三三区免费| 国产一区二区三区三州| 国产精品亚洲二区在线观看| 亚洲人成网站在线无码| 最爽爱爱高潮免费视频| 国产凸凹视频一区二区| 黄色精品一区二区三区| 亚洲成人免费视频在线| 男女av| 蜜臀av无码精品人妻色欲| 天天爽夜夜爽国产精品视频| 在线毛片观看| 国产农村老太xxxxhdxx| 亚洲日产韩国一二三四区| 亚洲中国最大av网站| av亚洲产国偷v产偷v自拍麻豆| 91精品视频在线免费观看| 日韩欧美有码| 三级a三级三级三级a十八发禁止| 三级特黄特色视频| 色一情一乱一伦麻豆| 国产视频一区在线观看| 免费视频国产| 伊人久久久av老熟妇色| 亚洲成人第一| 欧美日韩一区二区免费视频| 免费成人在线看| av天堂永久资源网亚洲高清| 性色av一区二区| 超碰在线免费看| 久久99热这里只有精品66| 91视频久久久| 精品九九九九| 国产成人亚洲综合无码品善网| 懂色一区二区三区av片| 韩国主播av福利一区二区| 亚洲黄网站wwwwwwwww| www射| 任你躁国产老女人| 色avav色avav爱av亚洲| 婷婷六月综合缴情在线| 丰满尤物白嫩啪啪少妇| 午夜高清| 蓝av导航a√第一福利网| 成人午夜电影福利免费| 亚洲熟妇久久国内精品| www.日本高清| 国产午夜无码片在线观看网站 | 欧美成年网站| 欧美日韩国产精品成人| 男女性杂交内射妇女bbwxz| 亚洲人成手机电影网站| 波多野结衣视频观看| 中文午夜人妻无码看片| 可以直接看的毛片| 日本成人激情视频| 亚洲人亚洲精品成人网站| 日韩精品久久| 国产成人97精品免费看片| 国产私拍福利精品视频| 97超级碰碰碰免费公开在线观看| 爱射网| 国产精品99久久精品爆乳| 97精品伊人久久久大香线蕉97如何观看| 特黄三级| 先锋影音一区二区| 日韩精品一区二区三区视频播放 | 91xxx在线观看| 国产真实伦视频| 污18禁污色黄网站免费观看| www97视频| 亚洲国产欧美一区三区成人| 综合激情亚洲丁香社区| 妩媚尤物娇喘无力呻吟在线视频 | 天天躁日日躁bbbbb| 亚洲另类春色国产精品| 6080福利| 国产激情在线视频| 亚洲老妇交性506070| 精品国产乱码久久久久久郑州公司| 不卡无码人妻一区三区| 俄罗斯xxxx性全过程| 亚洲日本丝袜丝袜办公室| 91丨九色丨蝌蚪最新地址| 91精品国产综合久久精品性色| 日产区一线二线三av| 午夜精品国产| www.97国产| 噼里啪啦免费高清看| 黄色一级生活片| 人妻丝袜中文无码av影音先锋专区| 免费一级特黄特色毛片久久看| 色悠久久久久久久综合网| 午夜视频一区二区| 97se亚洲综合在线| 婷婷久久久| wwwyoujizzcom国产| 久久婷婷五月综合国产尤物app | 午夜免费看片| 中文字幕91| 国产网站免费观看| 伊人国产女| 粉嫩少妇内射浓精videos| 久久国产精品偷| 草草影院在线观看| 特黄做受又硬又粗又大视频小说| 国产欧美日韩精品一区二区三区| 欧美国产激情18| 深夜福利网站在线| 玉足女爽爽91| 韩国三级 女的和老头做| 男女男精品免费视频网站| 国产亚洲精品久久久久婷婷图片 |