在本教程中,您将学习Android O中的酷炫新SMS令牌功能。您将学习如何生成特定于应用的令牌,当设备首次收到包含该令牌的消息时,该令牌将触发待处理的意图,例如验证电话号码。
请注意,在撰写本文时,Android O API仍处于最后的开发者预览中。 (我们仍然不知道O代表什么!)
什么是短信令牌?
SMS令牌或一次性密码是用于验证或验证用户的安全机制。 用户输入他们的电话号码,并专门为该用户生成有限的使用寿命令牌。 然后,用户将令牌作为短信接收到他们的手机。 在撰写本文时,对于Android O,此特定于应用的令牌不会过期,但在生成另一个令牌时将变为无效。
为什么要使用Android O的SMS令牌?
您可能考虑使用Android O的SMS令牌机制的主要原因之一是,它可以改善应用程序的用户体验。 用户不需要从SMS客户端复制并粘贴令牌以进行验证。 相反,Android设备会自动检测发送到用户设备的令牌,然后在与您的应用程序关联的意图中触发应用程序组件(我们稍后将介绍)。
更好的是,此功能不需要READ_SMS权限或任何其他权限。 该机制还提高了应用程序用户的安全性,因为其他任何应用程序都无法读取设备上包含令牌的消息。
在本教程中,您将学习如何在Android O的SMS API中使用此新功能。 您将学习如何为您的应用专门生成SMS令牌并将其发送到设备。 我们将使用Android Studio模拟器来模拟此过程。
先决条件
要继续本教程,请确保已在计算机上下载了Android 8.0(O)SDK平台,并已设置了针对该版本的仿真器。
1.生成特定于应用的令牌
首先,我将向您展示如何生成特定于应用的令牌,该令牌对于您的应用在用户设备上是唯一的。
创建一个新的Android Studio项目
启动Android Studio并创建一个名为MainActivity
的空活动的新项目。
![创建一个新的Android Studio项目](https://i-blog.csdnimg.cn/blog_migrate/0099df52a39b37ebe3b7c0fcdeb1584e.png)
修改build.gradle文件
对您的应用模块的构建进行以下更改。 gradle文件。