所以我有一个验证码,通过短信和用户有退出应用程序去复制它到一个EditText。
我发现Android Pay有一种方法,可以扫描从你的银行收到的验证文本,并在文本中自动填充验证码。
我想在我自己的应用程序中复制这个,但我不是100%确定我如何做到这一点,因为我正在努力寻找我需要的东西。到目前为止,我发现它可以通过ContentResolver来完成,但这可能不是最好的解决方案,因为它可能在不同的安卓风格上有所不同。
发布于 2018-03-03 00:35:00
您需要一个SMS广播接收器,它读取传入的SMS,检查号码是否正确,SMS的格式是否正确,并从号码中解析号码。
实际上,如果你能做到这一点,就不需要自动填充-只需将请求直接发送到正确的API进行验证,这样他们甚至不需要按下发送。
发布于 2018-03-03 00:36:07
从play服务10.2.x开始,Android就内置了这个功能。
只有当你在短信正文中包含一个特定于应用程序的散列时,它才能起作用,android使用这个散列来确定哪个应用程序在新消息刚进来时发出警报。
当收到一条带有确切散列的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>如何更详细地工作以及需要哪些代码等,你可以在开发人员的博客上查看here,或者在官方指南中查看here。
请注意,如果您不能访问发送SMS的系统,这将不起作用,这意味着您无法将散列添加到消息中。
https://stackoverflow.com/questions/49073272
复制相似问题