我在iOS应用程序的SPP(应用程序模式)中使用SocketMobile扫描仪7Xi。我已经整合了scanapisdk SDK。
在扫描条形码或QR代码时,会调用代理:
- (void) onDecodedDataResult:(long)result device:(DeviceInfo *)device decodedData:(ISktScanDecodedData*)decodedData
{
NSString * scannedText = [NSString stringWithUTF8String:(const char *)[decodedData getData]];
}
在这里,我如何知道条形码或QR上是否发生扫描?
我想检测是否扫描了条码或QR。
有可能吗?
答案 0 :(得分:1)
ISktScanDecodedData有两种方法可用于确定条形码类型
getSymbologyName
- 返回一个int - (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
}
}
- 返回一个字符串我建议使用第一个,因为名称可能会发生变化。
{{1}}
如果是"条形码"你的意思是任何线性条形码(a.k.a one-dimensional barcode),你需要在代码中指定所有不同的buildship plugin and eclipse version