Java 在Android中使用Zxing扫描仪如何读取UPI二维码?

Java 在Android中使用Zxing扫描仪如何读取UPI二维码?,java,android,android-mediascanner,upi,Java,Android,Android Mediascanner,Upi,我使用Zxing库为UPI交易生成二维码。 下面是字符串 String UPI = "upi://pay?pa=" + payeeAddress + "&pn=" + payeeName + "&tr=" + trxnRefId + "&tn=" + trxnNote + "&am=" + payeeAmount + "&cu=" + currencyCode+ "&ad="+ str ; 使用Z

我使用Zxing库为UPI交易生成二维码。 下面是字符串

 String UPI = "upi://pay?pa=" + payeeAddress + "&pn=" + payeeName
            + "&tr=" + trxnRefId
            + "&tn=" + trxnNote + "&am=" + payeeAmount + "&cu=" + currencyCode+ "&ad="+ str ;
使用Zxing扫描仪,如何逐个读取交易参考id、金额和收款人姓名等值

目前,我得到一个完整的UPI字符串使用下面的代码

 @Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    IntentResult result = IntentIntegrator.parseActivityResult(requestCode, resultCode, data);

      Toast.makeText(this, "Scanned: " + result.getContents(), 
                     Toast.LENGTH_LONG).show();
}

Zxing的result.text将为您获取二维码内容的字符串。您可以创建一个函数来获取所需的值

val trxnRefId = result.text.substringAfter(&tr=).substringBefore(&tn=)

Zxing的result.text将为您获取二维码内容的字符串。您可以创建一个函数来获取所需的值

val trxnRefId = result.text.substringAfter(&tr=).substringBefore(&tn=)

由于onActivityResult,我无法获取text对象和substringAfter方法。首先获取result.getContents并检查上面有什么内容。您应该将zxing的扫描结果作为字符串。然后可以执行
.substringAfter(&tr=).substringBefore(&tn=)
方法由于onActivityResult,我无法获取文本对象和substringAfter方法。首先获取result.getContents并检查上面有什么内容。您应该将zxing的扫描结果作为字符串。然后可以执行
.substringAfter(&tr=).substringBefore(&tn=)
方法