有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java SmsRetrieverClient。startsmsuserapprovement()如何将不同的发件人号码作为参数传递?

SmsRetrieverClient。StartSMUserApprovement(senderPhoneNumber/*或null*/)

这个senderPhoneNumber是我知道我将从中接收OTP的号码。我的问题是,如果我通过NULL,它可以从文档中提取任意数量的OTP(通过NULL,这样它就可以考虑允许任何数字)。我如何知道我的发件人是正确的?如果我收到两个OTP会怎么样

如果这是不可能的,我可以通过某种方式传递两个发件人号码,我确信这两个号码都会发送我的OTP吗

任何人对此有任何了解,请告知


共 (1) 个答案

  1. # 1 楼答案

    我尽了最大努力做了研究并写下了答案。来回答你的问题

    1. What happens if I receive two OTPs?

    这个问题的答案是,在大多数包含OTP的情况下,您不会在5分钟内收到两条消息

    尽管我们考虑了更坏的情况。假设您收到2条包含OTP的短信,在这种情况下,SMS用户同意API将只显示第一条收到的短信的同意(假设您提到null作为发送方电话号码)

    所以基本上,一旦用户同意api检测到并显示同意,它就会停止短信列表

    1. If this is not possible can I somehow pass two sender numbers that I am sure that either would be sending my OTP?

    答:可以。如果你知道发送者可能的名字,比如说AD-Something, BC-Something, CC-Something,那么你可以像这样一个接一个地为所有3个发送者注册列表

     val task1 = SmsRetriever.getClient(applicationContext).startSmsUserConsent("AD-Something")
     val task2 = SmsRetriever.getClient(applicationContext).startSmsUserConsent("CC-Something")
     val task3 = SmsRetriever.getClient(applicationContext).startSmsUserConsent("BC-Something")
         
    

    一旦你像这样声明,你的设备将监听所有这些。确保您还检查了这些应用程序的回调,以了解它们是否成功

    How do I know these?

    这方面没有官方来源/文件。(我查找了文档,但没有发现任何与此相关的内容)然后我亲自尝试并找到了它

    老实说,我有一种感觉,这个问题现在只是另一个版本的未成熟优化

    谢谢