来自QR码的电话号码

时间:2012-05-15 11:26:07

标签: android iphone ios qr-code

我遇到了一个似乎无法解决的问题。问题在于生成将调用一个特定号码的QR码。数字格式为* 103 * 14位激活号码#并且使用android QR码应用程序读取它会导致呼叫形式中没有井号(#)。我用谷歌搜索它,结论是android API由于某种原因阻止从QR码读取哈希符号。 Android操作系统的解决方法是使用URI编码进行哈希值为%23,在这种情况下,它就像魅力一样。但是使用iOS QRReader应用程序读取相同的QR代码并不会将%23转换为哈希值,而只是显示23.是否有解决方案涵盖所有这些问题?提前谢谢!

2 个答案:

答案 0 :(得分:3)

您必须对哈希进行双重编码,因此百分号也会被编码。

所以,#变为%2523

扫描此二维码,您的电话拨号器应显示*#67#

URI encoded USSD Has QR

请参阅此bug report on Zxing

答案 1 :(得分:0)

也许,您需要在将String传递给Intent之前对其进行编码:

String qrCode = "*103*14#";
String uri = Uri.encode("tel:" + qrCode);
Intent intent = new Intent(Intent.ACTION_CALL, uri);