ContentResolver 使用获取短信显示在键盘候选区

1. ContentReslover : 是Android提供的一个用于监听内容变化的类,它可以监听内容提供者(ContentProvider)中数据的变化情况,当数据发生变化时,ContentObserver会收到通知,从而可以实现对数据变化的监听。

2. 通过代码获取短信中的验证码,使其填充在剪切板(键盘候选区)

        1.首先需要获取读取短信(READ_SMS)、收取短信(RECEIVE_SMS)的权限,在android 版本>6.0 以上时,此类权限需要用户授权

                在AndroidManifest 中声明权限(字母要大写)【别问为什么】

androidManifest中配置

               2.继承ContentReslover ,书写逻辑




匹配信息来源,获取信息中的内容,根据自己需要定制语句

          3.在activity 或这代理中实现逻辑

                    请求权限,注册监听,在变化时,获取数据,复制到粘贴板;    clipData.newPlainText 中编辑呈现的内容,这里有一点要注意验证码输入框inputype 要设置成number ,这样汉字就不会粘贴上去。                


请求权限,整理内容

                【*】这个也会遇到问题,例如之前短信也处于未读状态也就是Cursor 的查询语句中arrayof("0") 0 -> 未读 ;1-> 已读;偶尔会查询到以前未读的验证码。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容