本文主要是记录一些零碎的知识点
获取短信验证码,并实现自动回填,短信涉及隐私,以及无法随便读取了,注册广播肯定不能正常工作,以下只是我个人的解决方案哈,不代表唯一解决方案(仍然需要得到用户的权限许可)
具体做法是:记录用户点击获取验证的时间,都短信库,最新的一条是如果一分钟以内的,就获取其中的验证码,如果没有找到,就开个线程,一直循环读取短信库。
首先先添加权限 AndroidManifest.xml
<!-- 读取短信 -->
<uses-permission android:name="android.permission.READ_SMS" />
哈哈,获取验证码前先看看手机号格式对不对
/**
* 验证手机号是否符合大陆的标准格式
*/
public static boolean isMobileNumberValid(String mobiles) {
// Pattern p = Pattern.compile("^((13[0-9])|(15[^4,\\D])|(18[0,5-9]))\\d{8}$");
Pattern p = Pattern.compile("^(1[3|4|5|7|8])\\d{9}$");
Matcher m = p.matcher(mobiles);
return m.matches();
}
还需要这样一个界面
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.a