如何实现AndroidPay自动OTP填充?

如何实现AndroidPay自动OTP填充?,android,android-pay,Android,Android Pay,所以我有一个来自sms的验证码,用户可以退出应用程序将其复制到EditText 我发现Android Pay有一种方法,可以扫描来自您银行的验证文本,并用验证代码自动填充文本 我想为我自己的应用程序复制这一点,但我不能100%确定我如何做到这一点,因为我正在努力搜索我需要的东西。到目前为止,我发现它可以通过ContentResolver实现,但这可能不是最好的解决方案,因为在不同的Android版本上可能会有所不同。您需要一个短信广播接收器,它可以读取传入的短信,检查号码是否正确,短信格式是否正

所以我有一个来自sms的验证码,用户可以退出应用程序将其复制到
EditText

我发现Android Pay有一种方法,可以扫描来自您银行的验证文本,并用验证代码自动填充文本


我想为我自己的应用程序复制这一点,但我不能100%确定我如何做到这一点,因为我正在努力搜索我需要的东西。到目前为止,我发现它可以通过ContentResolver实现,但这可能不是最好的解决方案,因为在不同的Android版本上可能会有所不同。

您需要一个短信广播接收器,它可以读取传入的短信,检查号码是否正确,短信格式是否正确,并从中解析号码


实际上,如果你能做到这一点,就不需要自动填充,只需直接将请求发送到正确的API进行验证,这样他们甚至不必按send。

你需要一个短信广播接收器,它读取传入的短信,检查号码是否正确,短信格式是否正确,并从中解析号码


实际上,如果你能做到这一点,就不需要自动填充,只需直接将请求发送到正确的API进行验证,这样他们甚至不必按send。

Android在play services 10.2.x中内置了此功能

只有当你在短信正文中包含一个特定于应用程序的散列时,它才会起作用。安卓使用该散列来确定哪个应用程序发出新消息的警报

当收到带有该哈希值的SMS消息时,android将启动一个broadcastreceiver,您可以通过一个特殊目的过滤器在清单中注册它:

<receiver android:name=".MySMSBroadcastReceiver" android:exported="true">
    <intent-filter>
        <action android:name="com.google.android.gms.auth.api.phone.SMS_RETRIEVED"/>
    </intent-filter>
</receiver>

在开发者的博客或官方指南中


请注意,如果您无法访问发送短信的系统,这将不起作用,这意味着您无法将哈希添加到消息中。

Android在play services 10.2.x中内置了此功能

只有当你在短信正文中包含一个特定于应用程序的散列时,它才会起作用。安卓使用该散列来确定哪个应用程序发出新消息的警报

当收到带有该哈希值的SMS消息时,android将启动一个broadcastreceiver,您可以通过一个特殊目的过滤器在清单中注册它:

<receiver android:name=".MySMSBroadcastReceiver" android:exported="true">
    <intent-filter>
        <action android:name="com.google.android.gms.auth.api.phone.SMS_RETRIEVED"/>
    </intent-filter>
</receiver>

在开发者的博客或官方指南中


请注意,如果您无法访问发送短信的系统,这将不起作用,这意味着您无法将哈希添加到消息中。

该死,这看起来很好,我不知道它存在。令人恼火的是,我无法将它用于我正在开发的应用程序的设置,它没有短信服务的上下文,这一切都是通过中介完成的。该死的,这看起来真不错,我不知道它存在。令人恼火的是,我无法将它用于我正在开发的应用程序的设置,因为它没有短信服务的上下文,所有这些都是通过中介完成的。