本文档展示了如何改进支付宝收款信息提取和处理的代码。改进后的代码增加了对“成功收款”状态的判断,确保只有在成功收款的情况下才提取金额并进行后续操作。
首先,代码在原有“通过扫码向你付款”的判断条件下,添加了对“成功收款”字符串的判断。 这通过indexOf()方法实现,如果找不到“成功收款”字符串,则跳转到cond_fd。
if-ne v8, v11, :cond_d3const-string v8, "成功收款"invoke-virtual {v0, v8}, Ljava/lang/string;->indexof(ljava/lang/string;)imove-result v8if-eq v8, v11, :cond_fd
接下来,代码调用getMoney(Ljava/lang/String;)Ljava/lang/String;方法从输入字符串v0中提取金额,并将其存储在v3中。如果v3为空,则跳转到cond_fe。
:cond_d3invoke-static {v0}, Lcom/vone/vmq/NeNotificationService2;->getMoney(Ljava/lang/String;)Ljava/lang/String;move-result-object v3if-eqz v3, :cond_fe
如果提取到金额,代码会打印日志信息,显示“支付宝到账”以及具体的金额。然后,代码将金额转换为double类型,并调用appPush(ID)方法,将金额和类型代码2传递给后续处理模块。
iget-object v8, p0, Lcom/vone/vmq/NeNotificationService2;->TAG:Ljava/lang/String;new-instance v9, Ljava/lang/StringBuilder;invoke-direct {v9}, Ljava/lang/StringBuilder;->()Vconst-string v10, "onAccessibilityEvent: 匹配成功: 支付宝 到账 "invoke-virtual {v9, v10}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;move-result-object v9invoke-virtual {v9, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;move-result-object v9invoke-virtual {v9}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;move-result-object v9invoke-static {v8, v9}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)Iconst/4 v8, 0x2invoke-static {v3}, Ljava/lang/Double;->valueOf(Ljava/lang/String;)Ljava/lang/Double;move-result-object v9invoke-virtual {v9}, Ljava/lang/Double;->doubleValue()Dmove-result-wide v10invoke-virtual {p0, v8, v10, v11}, Lcom/vone/vmq/NeNotificationService2;->appPush(ID)V

这段代码增强了支付宝收款信息处理的可靠性,只在确认“成功收款”后才处理金额信息,避免了误判和错误处理。 需要注意的是,getMoney方法的具体实现未在此提供,其正确性直接影响整个代码的准确性。
以上就是支付宝收款信息如何才能准确提取并处理?的详细内容,更多请关注创想鸟其它相关文章!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/1253508.html
微信扫一扫
支付宝扫一扫