2017-06-19 196 views
0

我在SPP(應用程序模式)中爲iOS應用程序使用SocketMobile掃描儀7Xi。我已經集成了scanapisdk SDK。SocketMobile掃描儀:如何檢測條碼或QR掃描?

在掃描條形碼或低於委託QR代碼被稱爲:

- (void) onDecodedDataResult:(long)result device:(DeviceInfo *)device decodedData:(ISktScanDecodedData*)decodedData { NSString * scannedText = [NSString stringWithUTF8String:(const char *)[decodedData getData]]; }

在這裏,我怎麼會去了解,如果掃描發生在條形碼或二維?

我想檢測是否掃描條碼或QR。

可能嗎?

回答

1

ISktScanDecodedData有兩個方法,你可以用它來確定條形碼類型

  • getSymbologyID - 返回一個int
  • getSymbologyName - 返回一個字符串

我推薦使用第一個,因爲名字可能會改變。

- (void) onDecodedDataResult:(long)result device:(DeviceInfo *)device decodedData:(ISktScanDecodedData*)decodedData 
{ 
    NSString * scannedText = [NSString stringWithUTF8String:(const char *)[decodedData getData]]; 
    int symbologyId = [decodedData getSymbologyID]; 

    if (symbologyId == ISktScanSymbology.id.kSktScanSymbologyQRCode) { 
     // do something 
    } else if (symbologyId == /* INSERT "BARCODE" SYMBOLOGY ID HERE */) { 
     // do something else 
    } 
} 

如果「條形碼」你的意思是任何線性條形碼(a.k.a一維條碼),你需要在你的代碼指定所有不同types of linear barcodes