EST-100/EST-100GS/EST-J13X系列國(guó)產(chǎn)操作系統(tǒng)開(kāi)發(fā)包(麒麟KylinOS、統(tǒng)信UOS等)
廣東東信智能科技有限公司DONSEE系列多功能身份證社??ㄗx卡器國(guó)產(chǎn)操作系統(tǒng)Linux開(kāi)發(fā)包(麒麟KylinOS、統(tǒng)信UOS等),支持 EST-100、EST-100GS、EST-100M(HID)、EST-J13X、EST-100G、EST-100R等機(jī)型,功能包括身份證信息讀取、社??ㄐ畔⒆x取、IC卡、CPU卡讀取,僅供開(kāi)發(fā)人員和測(cè)試人員使用。
國(guó)產(chǎn)系統(tǒng)開(kāi)發(fā)包下載地址:
DONSEE SDK for 國(guó)產(chǎn)系統(tǒng)(麒麟、統(tǒng)信)(20240902)
DONSEE SDK for 國(guó)產(chǎn)系統(tǒng)Web開(kāi)發(fā)包下載(20240829)
OpenHarmony鴻蒙系統(tǒng)開(kāi)發(fā)包下載(V1.0.2)
更早版本:
DONSEE SDK for 國(guó)產(chǎn)系統(tǒng)Web開(kāi)發(fā)包下載(20240606)
DONSEE SDK for 國(guó)產(chǎn)系統(tǒng)(麒麟、統(tǒng)信)(20240708)
DONSEE SDK for 國(guó)產(chǎn)系統(tǒng)(麒麟、統(tǒng)信)(20240529)
DONSEE SDK for 國(guó)產(chǎn)系統(tǒng)Web開(kāi)發(fā)包下載(20240325)
DONSEE SDK for 國(guó)產(chǎn)系統(tǒng)(麒麟、統(tǒng)信)(20240402)
DONSEE SDK for 國(guó)產(chǎn)系統(tǒng)(麒麟、統(tǒng)信)(20240325)
DONSEE SDK for 國(guó)產(chǎn)系統(tǒng)(麒麟、統(tǒng)信)(20231024)
DONSEE SDK for 國(guó)產(chǎn)系統(tǒng)(麒麟、統(tǒng)信)(20230826)
DONSEE SDK for 國(guó)產(chǎn)系統(tǒng)(麒麟、統(tǒng)信)
DONSEE SDK for 國(guó)產(chǎn)系統(tǒng)Web開(kāi)發(fā)包下載
為更好的推廣信創(chuàng)適配產(chǎn)品認(rèn)證,廣東東信智能科技有限公司EST-100、EST-100GS、EST-100R、EST-J13X等機(jī)型已完成國(guó)產(chǎn)系統(tǒng)麒麟KylinOS、統(tǒng)信UOS的適配認(rèn)證。
#include "donsee.h"
int main()
{
long t_nHandle = -99;
int i = 0;
char pszError[128];
unsigned char Response[1024] = {0};
long t_nRe;
printf("********************************************************\n");
printf("請(qǐng)輸入數(shù)字選擇需要測(cè)試的功能:\n");
printf("0、測(cè)試蜂鳴器和版本號(hào)\n");
printf("1、測(cè)試 身份證\n");
printf("2、測(cè)試 社??╘n");
printf("3、測(cè)試 M1 卡\n");
printf("4、測(cè)試 非接觸CPU卡\n");
printf("5、測(cè)試 銀行卡\n");
printf("6、測(cè)試 15693卡\n");
printf("7、測(cè)試 接觸CPU卡\n");
printf("8、測(cè)試 磁條卡\n");
printf("9、測(cè)試 4442卡\n");
printf("10、測(cè)試 北京通卡\n");
printf("11、關(guān)閉射頻天線\n");
printf("********************************************************\n");
int t_nIndex;
scanf("%d", &t_nIndex);
if (t_nIndex == 0) //測(cè)試版本號(hào)和蜂鳴器
{
t_nHandle = Donsee_Open("USB");
if (t_nHandle != 0)
{
printf("連接讀卡器失敗,t_nRe = %ld\n", t_nHandle);
return -1;
}
t_nRe = Donsee_Version(Response);
printf("設(shè)備版本號(hào):%s\n", Response);
Donsee_Beep(t_nHandle, 0x16);
Donsee_Close();
}
if (t_nIndex == 1) //測(cè)試身份證
{
t_nHandle = Donsee_Open("USB");
if (t_nHandle != 0)
{
printf("連接讀卡器失敗,t_nRe = %ld\n", t_nHandle);
return -1;
}
memset(Response, 0, 1024);
// t_nRe = Donsee_ReadIDCardUid(Response); //身份證Uid,有需要的可以這里獲取
// printf("Donsee_ReadIDCardUid返回:%s\n", Response);
IDINFO idInfo;
char t_arrMsg[256];
// nType [in]:設(shè)置身份證讀卡類型:0,文本信息;1,文本+照片;2,文本+照片+指紋
// nMode [in]:設(shè)置讀卡模式:0,讀卡1次、拿開(kāi)后放上重讀;1,連續(xù)讀卡
int nType = 1;
int nMode = 1;
memset(&idInfo, 0, sizeof(IDINFO));
char t_szPath[256] = "IDPhoto.bmp";
// char t_szPath[256] = "";
// char t_szPath[256] = NULL;
t_nRe = Donsee_ReadIDCard(nType, nMode, t_szPath, &idInfo, t_arrMsg);
if (t_nRe != 0)
{
printf("讀身份證失敗\n");
Donsee_Close();
return -2;
}
else
{
Donsee_Beep(t_nHandle, 0x16);
printf("讀身份證成功\n");
printf(("中文姓名:%s\n"), idInfo.name);
printf(("英文姓名:%s\n"), idInfo.ENfullname);
printf(("性 別:%s\n"), idInfo.sex);
printf(("民 族:%s\n"), idInfo.people);
printf(("出身日期:%s\n"), idInfo.birthday);
printf(("住 址:%s\n"), idInfo.address);
printf(("身份證號(hào):%s\n"), idInfo.number);
printf(("簽發(fā)機(jī)關(guān):%s\n"), idInfo.organs);
printf(("有效期開(kāi)始:%s\n"), idInfo.signdate);
printf(("有效期結(jié)束:%s\n"), idInfo.validterm);
printf(("證件類別:%s\n"), idInfo.certType);
printf(("證件版本:%s\n"), idInfo.certVersion);
printf(("通行證號(hào):%s\n"), idInfo.passNu);
printf(("簽發(fā)數(shù)次:%s\n"), idInfo.signCount);
// printf(("照片文件名:%s\n"), t_cValue);
// printf("1024相片原始數(shù)據(jù):\n");
// int i ;
// for ( i = 0; i < 1024; i++)
//{
//printf("%02X ", idInfo.Photo[i]);
//}
// printf("\n");
// if (nType == 2)
//{
//printf("1024指紋數(shù)據(jù):\n");
//for ( i = 0; i < 1024; i++)
//{
//;//printf("%02X ", (unsigned char)idInfo.figData[i]);
//}
// }
Donsee_Close();
}
}
if (t_nIndex == 2) //測(cè)試社??ǎ绫?ㄐ枰狿sam秘鑰才能讀取,二代卡不需要(只能插卡讀?。?/p>
{
t_nHandle = Donsee_Open("USB");
if (t_nHandle != 0)
{
printf("連接讀卡器失敗,t_nRe = %ld\n", t_nHandle);
return -1;
}
SSCard_IDINFO cardInfo;
memset(&cardInfo, 0, sizeof(cardInfo));
long t_nRead = Donsee_ReadSSCard(0x11, &cardInfo, pszError);
if (t_nRead != 0)
{
printf("讀社??ㄊ?MSG:%s\n", pszError);
Donsee_Close();
return -2;
}
else
{
Donsee_Beep(t_nHandle, 0x16);
printf("讀社保卡成功\n");
printf("姓名:%s\n", cardInfo.name);
printf("性別:%s\n", cardInfo.sex);
printf("民族:%s\n", cardInfo.nation);
printf("出生日期:%s\n", cardInfo.birthday);
printf("發(fā)證日期:%s\n", cardInfo.signdate);
printf("有效日期:%s\n", cardInfo.validterm);
printf("卡號(hào):%s\n", cardInfo.cardnumber);
printf("社會(huì)保障號(hào)碼(身份證號(hào)):%s\n", cardInfo.idnumber);
printf("城市代碼:%s\n", cardInfo.city);
printf("社??ò姹?%s\n", cardInfo.cardveVrsion);
Donsee_Close();
}
}
if (t_nIndex == 3) //測(cè)試M1卡
{
t_nHandle = Donsee_Open("USB");
if (t_nHandle != 0)
{
printf("連接讀卡器失敗,t_nRe = %ld\n", t_nHandle);
return -1;
}
char t_chMsgM1[256] = "";
// t_nRe = Donsee_ReadICUid(t_chMsgM1); //功能未實(shí)現(xiàn)
// if (t_nRe == 0)
//{
//printf("M1 卡 獲取UID成功,UID:%s\n", t_chMsgM1);
// }
// M1尋卡
t_nRe = Donsee_ICRequest();
if (t_nRe != 0)
{
printf("M1 卡片請(qǐng)求 失敗,返回值:%ld\n", t_nRe);
}
t_nRe = Donsee_ICAnticoll(t_chMsgM1); //防碰撞可以出來(lái)uid,M1和cpu卡都支持
if (t_nRe != 0)
{
printf("M1 卡片防碰撞 失敗,返回值:%ld\n", t_nRe);
}
t_nRe = Donsee_ICSelect(0x41);
if (t_nRe != 0)
{
printf("TypeA 卡片選擇 失敗,返回值:%ld\n", t_nRe);
}
printf("M1 尋卡成功");
printf("M1 卡 獲取UID成功,UID:%s\n", t_chMsgM1);
int t_nKeyMode = 0x60; // KeyA
int t_nAdd = 5;
t_nRe = Donsee_M1VerifyPass(t_nKeyMode, t_nAdd / 4, "FFFFFFFFFFFF");
if (t_nRe != 0)
{
printf("M1 卡片 Donsee_M1VerifyPass 密鑰認(rèn)證 失敗,返回值:%ld", t_nRe);
}
else
printf("M1 卡 Donsee_M1VerifyPass 密鑰認(rèn)證 成功\n");
unsigned char t_chKey[6] = {0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF};
t_nRe = Donsee_M1VerifyPassHex(t_nKeyMode, t_nAdd / 4, t_chKey);
if (t_nRe != 0)
{
printf("M1 卡片 Donsee_M1VerifyPassHex 密鑰認(rèn)證 失敗,返回值:%ld", t_nRe);
}
else
printf("M1 卡 Donsee_M1VerifyPassHex 密鑰認(rèn)證 成功\n");
char t_pszReadData[128] = "";
t_nRe = Donsee_M1Read(t_nAdd, t_pszReadData);
if (t_nRe != 0)
{
printf("M1 卡片讀卡 失敗,返回值:%ld\n", t_nRe);
}
else
printf("M1 卡 讀取第 %d 塊數(shù)據(jù) 成功,Data:%s\n", t_nAdd, t_pszReadData);
t_nRe = Donsee_M1Write(t_nAdd, "0102030405060708090001020304050A");
if (t_nRe != 0)
{
printf("M1 卡片寫卡 失敗,返回值:%ld\n", t_nRe);
}
else
printf("M1 卡 寫入第 %d 塊數(shù)據(jù): 0102030405060708090001020304050A, 成功\n", t_nAdd);
memset(t_pszReadData, 0, 128);
t_nRe = Donsee_M1Read(t_nAdd, t_pszReadData);
if (t_nRe != 0)
{
printf("M1 卡片讀卡 失敗,返回值:%ld\n", t_nRe);
}
else
printf("M1 卡 讀取第 %d 塊數(shù)據(jù) 成功,Data:%s\n", t_nAdd, t_pszReadData);
unsigned long t_nValue = 256;
t_nRe = Donsee_M1Initval(t_nAdd, t_nValue);
if (t_nRe != 0)
{
printf("M1 卡片初始化值 失敗,返回值:%ld\n", t_nRe);
}
else
printf("M1 卡 卡片初始化第 %d 塊 值 成功\n", t_nAdd);
t_nRe = Donsee_M1Increment(t_nAdd, 100);
if (t_nRe != 0)
{
printf("M1 卡片增值 失敗,返回值:%ld\n", t_nRe);
}
else
printf("M1 卡 卡片增值 第 %d 塊 成功\n", t_nAdd);
t_nRe = Donsee_M1Decrement(t_nAdd, 20);
if (t_nRe != 0)
{
printf("M1 卡片減值 失敗,返回值:%ld\n", t_nRe);
}
else
printf("M1 卡 卡片減值第 %d 塊 成功\n", t_nAdd);
t_nRe = Donsee_M1Readval(t_nAdd, &t_nValue);
if (t_nRe != 0)
{
printf("M1 卡片讀值 失敗,返回值:%ld\n", t_nRe);
}
else
printf("M1 卡 卡片讀值 %d 塊 成功,Value = %ld\n", t_nAdd, t_nValue);
t_nRe = Donsee_M1LoadKey(t_nKeyMode, t_nAdd / 4, "FFFFFFFFFFFF");
if (t_nRe != 0)
{
printf("M1 卡片加載密鑰 失敗,返回值:%ld\n", t_nRe);
}
else
printf("M1 卡 卡片加載到密鑰 第%d扇區(qū) 成功\n", t_nAdd / 4);
t_nRe = Donsee_M1Verify(t_nKeyMode, t_nAdd / 4);
if (t_nRe != 0)
{
printf("M1 卡片認(rèn)證加載密鑰 第%d扇區(qū) 失敗,返回值:%ld\n", t_nAdd / 4, t_nRe);
}
else
printf("M1 卡 卡片認(rèn)證加載密鑰 第%d扇區(qū) 成功\n", t_nAdd / 4);
Donsee_Beep(t_nHandle, 0x16);
Donsee_Close();
}
if (t_nIndex == 4) //測(cè)試非接觸式CPU卡
{
t_nHandle = Donsee_Open("USB");
if (t_nHandle != 0)
{
printf("連接讀卡器失敗,t_nRe = %ld\n", t_nHandle);
return -1;
}
char t_arrDataRe[32] = {0};
char t_arrDataUID[8] = {0};
long t_nSet = Donsee_SetTypeA();
if (t_nSet != 0)
{
printf("TypeA 設(shè)置失敗\n") ;
Donsee_Close() ;
return false;
}
long t_nReq = Donsee_ICRequest();
{
printf("TypeA 請(qǐng)求失敗\n") ;
Donsee_Close() ;
return false;
}
long t_nAtl = Donsee_ICAnticoll(t_arrDataUID);
{
printf("TypeA 防碰撞失敗\n") ;
Donsee_Close() ;
return false;
}
printf("TypeA_Anticoll:%s\n", t_arrDataUID);
long t_nSel = Donsee_ICSelect(0x41);
{
printf("TypeA 選卡失敗\n") ;
Donsee_Close() ;
return false;
}
t_nRe = Donsee_PowerOnTypeA(t_arrDataRe);
{
printf("TypeA 上電失敗") ;
Donsee_Close() ;
return false;
}
printf("TypeA_ATR:%s\n", t_arrDataRe);
memset(Response, 0, 1024);
printf("TypeA-APDU發(fā)送:0084000008\n");
t_nRe = Donsee_APDUType("0084000008", Response);
printf("TypeA-APDU返回:%s\n", Response);
Donsee_Beep(t_nHandle, 0x16);
Donsee_Close();
}
if (t_nIndex == 5) //測(cè)試銀行卡
{
t_nHandle = Donsee_Open("USB");
if (t_nHandle != 0)
{
printf("連接讀卡器失敗,t_nRe = %ld\n", t_nHandle);
return -1;
}
char t_szBankNo[128] = "";
char *p, *q;
unsigned char tmp;
t_nRe = Donsee_GetBankCardNo(t_szBankNo);
if (t_nRe != 0)
printf("讀取銀行卡號(hào)失敗\n");
else
{
tmp = (unsigned char)(strchr(t_szBankNo, 'D') - t_szBankNo);
q = (tmp > 0) ? strndup(t_szBankNo, tmp) : strdup(t_szBankNo);
printf("讀取銀行卡號(hào)成功:%s\n", q);
Donsee_Beep(t_nHandle, 0x16);
}
Donsee_Close();
}
if (t_nIndex == 6) //測(cè)試15693卡
{
t_nHandle = Donsee_Open("USB");
if (t_nHandle != 0)
{
printf("連接讀卡器失敗,t_nRe = %ld\n", t_nHandle);
return -1;
}
char t_chMsg15693[256] = "";
t_nRe = Donsee_15693_Find(t_chMsg15693);
if (t_nRe != 0)
{
printf("15693 尋卡失敗,返回值:%ld\n", t_nRe);
}
else
printf("15693 尋卡成功,UID:%s\n", t_chMsg15693);
t_nRe = Donsee_15693_Info(t_chMsg15693);
if (t_nRe != 0)
{
printf("15693 卡信息獲取失敗,返回值:%ld\n", t_nRe);
}
else
printf("15693 卡信息獲取成功,CardInfo:%s\n", t_chMsg15693);
unsigned char t_nBlkAdd = 0x00;
memset(t_chMsg15693, 0, 256);
t_nRe = Donsee_15693_Read(t_nBlkAdd, t_chMsg15693);
if (t_nRe != 0)
{
printf("15693 卡讀卡失敗,返回值:%ld\n", t_nRe);
}
else
printf("15693 卡讀卡成功,Data:%s\n", t_chMsg15693);
t_nRe = Donsee_15693_Write(t_nBlkAdd, "88898685");
if (t_nRe != 0)
{
printf("15693 卡寫卡失敗,返回值:%ld\n", t_nRe);
}
else
printf("15693 卡寫卡成功,Data:88898685\n");
memset(t_chMsg15693, 0, 256);
t_nRe = Donsee_15693_Read(t_nBlkAdd, t_chMsg15693);
if (t_nRe != 0)
{
printf("15693 卡讀卡失敗,返回值:%ld\n", t_nRe);
}
else
printf("15693 卡讀卡成功,Data:%s\n", t_chMsg15693);
Donsee_Beep(t_nHandle, 0x16);
Donsee_Close();
}
if (t_nIndex == 7) //測(cè)試接觸式CPU卡
{
t_nHandle = Donsee_Open("USB");
if (t_nHandle != 0)
{
printf("連接讀卡器失敗,t_nRe = %ld\n", t_nHandle);
return -1;
}
memset(Response, 0, 1024);
t_nRe = Donsee_ColdPowerOn(0x01, Response);
printf("cpu冷復(fù)位:%s\n", Response);
memset(Response, 0, 1024);
t_nRe = Donsee_HotPowerOn(0x01, Response);
printf("cpu熱復(fù)位:%s\n", Response);
memset(Response, 0, 1024);
t_nRe = Donsee_PowerOn(0x01, Response);
printf("cpu復(fù)位:%s\n", Response);
memset(Response, 0, 1024);
printf("cpu-APDU發(fā)送:0084000008\n");
t_nRe = Donsee_APDU(0x01, "0084000008", Response);
printf("cpu-APDU返回:%s\n", Response);
Donsee_Beep(t_nHandle, 0x16);
Donsee_Close();
}
if (t_nIndex == 8) //測(cè)試磁條卡
{
t_nHandle = Donsee_Open("USB");
if (t_nHandle != 0)
{
printf("連接讀卡器失敗,t_nRe = %ld\n", t_nHandle);
return -1;
}
unsigned char t_nTime = 15;
int t_nTrack = 2;
char t_pszTrackData[512] = "";
t_nRe = Donsee_ReadMagCard(t_nTime, t_nTrack, t_pszTrackData);
if (t_nRe != 0)
{
printf("磁條卡刷卡失敗,返回值:%ld\n", t_nRe);
}
else
printf("磁條卡刷卡成功,TrackData:%s\n", t_pszTrackData);
//設(shè)置主動(dòng)輸出
unsigned char szConfig[3] = {0x02, 0x00, 0x01};
// t_nRe = Donsee_ReadMagType(0x00,szConfig) ;
// if (t_nRe != 0)
// printf("磁條卡設(shè)置主動(dòng)輸出失敗,返回值:%ld\n", t_nRe);
// else
// printf("磁條卡設(shè)置主動(dòng)輸出成功\n");
//設(shè)置被動(dòng)輸出
// t_nRe = Donsee_ReadMagType(0x01,szConfig) ;
// if (t_nRe != 0)
// printf("磁條卡設(shè)置被動(dòng)輸出失敗,返回值:%ld\n", t_nRe);
// else
// printf("磁條卡設(shè)置被動(dòng)輸出成功\n");
Donsee_Beep(t_nHandle, 0x16);
Donsee_Close();
}
if (t_nIndex == 9) //測(cè)試4442卡
{
t_nHandle = Donsee_Open("USB");
if (t_nHandle != 0)
{
printf("連接讀卡器失敗,t_nRe = %ld\n", t_nHandle);
return -1;
}
char t_chMsg4442[256] = "";
t_nRe = Donsee_4442_PowerOn(t_chMsg4442);
if (t_nRe == 0)
{
printf("4442 卡 上電成功,UID:%s\n", t_chMsg4442);
}
int t_nCount;
t_nRe = Donsee_4442_ReadCount(&t_nCount);
if (t_nRe == 0)
{
printf("4442 卡 密鑰認(rèn)證剩余次數(shù):%d次\n", t_nCount);
}
memset(t_chMsg4442, 0, 256);
t_nRe = Donsee_4442_Read(32, 16, t_chMsg4442);
if (t_nRe == 0)
{
printf("4442 卡 讀卡成功,Data:%s\n", t_chMsg4442);
}
t_nRe = Donsee_4442_Verify("FFFFFF");
if (t_nRe == 0)
{
printf("4442 卡 密鑰認(rèn)證成功\n");
}
t_nRe = Donsee_4442_Write(32, 16, "AAAAAAAAAABBBBBBBBBBCCCCCCCCCCDD");
if (t_nRe == 0)
{
printf("4442 卡 寫卡成功,Data:AAAAAAAAAABBBBBBBBBBCCCCCCCCCCDD\n");
}
t_nRe = Donsee_4442_Read(32, 16, t_chMsg4442);
if (t_nRe == 0)
{
printf("4442 卡 讀卡成功,Data:%s\n", t_chMsg4442);
}
t_nRe = Donsee_4442_WriteProtect(0, 16, "AAAAAAAAAABBBBBBBBBBCCCCCCCCCCDD");
if (t_nRe == 0)
{
printf("4442 卡 寫卡保護(hù)成功,Data:AAAAAAAAAABBBBBBBBBBCCCCCCCCCCDD\n");
}
t_nRe = Donsee_4442_ReadProtect(0, 16, t_chMsg4442);
if (t_nRe == 0)
{
printf("4442 卡 讀卡保護(hù)成功,Data:%s\n", t_chMsg4442);
}
t_nRe = Donsee_4442_PowerOff();
if (t_nRe == 0)
{
printf("4442 卡 下電成功\n");
}
Donsee_Beep(t_nHandle, 0x16);
Donsee_Close();
}
if (t_nIndex == 10) //測(cè)試北京通卡
{
t_nHandle = Donsee_Open("USB");
if (t_nHandle != 0)
{
printf("連接讀卡器失敗,t_nRe = %ld\n", t_nHandle);
return -1;
}
BJT_IDINFO idInfo;
char t_arrMsg[256];
memset(&idInfo, 0, sizeof(BJT_IDINFO));
t_nRe = Donsee_ReadBJTIDCard(&idInfo, t_arrMsg);
if (t_nRe != 0)
{
printf("讀取北京通失敗\n");
Donsee_Close();
return -2;
}
else
Donsee_Beep(t_nHandle, 0x16);
printf("讀取北京通成功\n");
printf(("姓名:%s\n"), idInfo.name);
printf(("性 別:%s\n"), idInfo.sex);
printf(("北京通號(hào):%s\n"), idInfo.cardnumber);
printf(("卡片類型:%s\n"), idInfo.nType);
printf(("證件名稱:%s\n"), idInfo.cardName);
printf(("發(fā)卡機(jī)構(gòu):%s\n"), idInfo.organs);
t_nRe = Donsee_ReadBJTIDCard_Photo("./bjt.jpg", t_arrMsg);
if (t_nRe != 0)
{
printf("讀取北京通頭像失敗\n");
Donsee_Close();
return -2;
}
else
printf("讀取北京通頭像成功\n");
Donsee_Close();
}
if (t_nIndex == 11) //關(guān)閉射頻天線
{
t_nHandle = Donsee_Open("USB");
if (t_nHandle != 0)
{
printf("連接讀卡器失敗,t_nRe = %ld\n", t_nHandle);
return -1;
}
Donsee_SwitchRF(0); // 0 關(guān)閉天線,1 打開(kāi)天線
Donsee_Close();
}
}
以下為老的SDK保留備份使用:
DONSEE SDK for 麒麟KylinOS下載(舊SDK)
DONSEE SDK for 統(tǒng)信UOS下載(舊SDK)
- 身份證閱讀器/身份證讀卡器Android X86-X64安卓版本SDK
- 藍(lán)牙身份證閱讀器系列微信藍(lán)牙小程序SDK二次開(kāi)發(fā)包下載
- EST-100/EST-100GS/EST-J13X系列Linux開(kāi)發(fā)包(含身份證
- 身份證閱讀器讀卡器Vue.js和React.js開(kāi)發(fā)包demo下載
- EST-R5雙屏臺(tái)式人證核驗(yàn)系統(tǒng)SDK二次開(kāi)發(fā)包
- EST-M20手持人臉識(shí)別終端二次開(kāi)發(fā)包SDK下載
- EST-100R系列SDK開(kāi)發(fā)包(含二維碼、身份證、社???、CP
- 身份證讀卡器Linux開(kāi)發(fā)包定制需要的信息和文件匯總
- DONSEE系列產(chǎn)品二次開(kāi)發(fā)技術(shù)支持
- EST-100/EST-100GS/EST-J13X系列Android開(kāi)發(fā)包(含身份