我有一个应用程序,可以成功检索由二维码返回的数据,通过发送意图到条形码扫描仪应用程序由ZXing制作。
然而,我想通过能够破译二维码的格式是电话号码来让这款应用变得更好。是否也可以获得二维码的格式(即URL、SMS、电话号码、文本)?
我需要这个,因为我不想像人们创建自己的二维码那样的漏洞来扫描。我为一个系统创建的二维码的格式是电话号码。人们可能会伪造以文本为格式的二维码。我希望应用程序能够区分格式,这样就可以避免这种情况。谢谢!
发布于 2012-06-01 18:07:44
如果您真的指的是条形码格式,这也会在Intent中返回。看看extra SCAN_RESULT_FORMAT,它会有一个类似"QR_CODE“的字符串。这些是BarcodeFormat中枚举值的名称。
如果您想要像条形码扫描器那样解析扫描结果,请使用core/中的ResultParser类。
不过,我并不认为这会阻止你自己创建条形码。
发布于 2018-01-21 22:25:21
尝试使用以下命令:
String codeType = ResultParser.parseResult(result).getType().toString();ResultParser类将为您提供二维码结果的类型,即:网址、文本、消息等。
您可以使用以下代码来比较这两种类型:
if(ResultParser.parseResult(result).getType() == ParsedResultType.ADDRESSBOOK) {
// Implement your logic
}相反,我们总是希望您使用枚举类型而不是字符串,即使用ParsedResultType.ADDRESSBOOK而不是String type = "addressbook"
发布于 2012-11-28 14:59:32
您可以使用以下命令获取二维码类型:
String type = resultHandler.getResult().getType().toString();这将为您提供二维码的类型。例如URI、电话、SMS等。
希望这能有所帮助。
https://stackoverflow.com/questions/10843417
复制相似问题