全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

Android 短信验证码自动填写

Android 短信验证码自动填写

1.自定义Observer监听短信数据库变化(注意添加短信权限)

import android.app.Activity;
import android.content.ContentResolver;
import android.database.ContentObserver;
import android.database.Cursor;
import android.net.Uri;
import android.os.Handler;
import android.text.TextUtils;

import java.util.regex.Matcher;
import java.util.regex.Pattern;

/**
 * Created by 001 on 17/3/22.
 */

public class SmsObserver extends ContentObserver {

  public static final String SMS_URI_INBOX = "content://sms/inbox";
  private Activity activity = null;
  private String smsContent = "";
  private SmsListener listener;

  public SmsObserver(Activity activity, Handler handler, SmsListener listener) {
    super(handler);
    this.activity = activity;
    this.listener = listener;
  }

  @Override
  public void onChange(boolean selfChange) {
    super.onChange(selfChange);
    Cursor cursor = null;
    // 读取收件箱中含有某关键词的短信
    ContentResolver contentResolver = activity.getContentResolver();
    cursor = contentResolver.query(Uri.parse(SMS_URI_INBOX), new String[] {
            "_id", "address", "body", "read" }, "body like ? and read=?",
        new String[] { "%关键词%", "0" }, "date desc");
    if (cursor != null) {
      cursor.moveToFirst();
      if (cursor.moveToFirst()) {
        String smsbody = cursor
            .getString(cursor.getColumnIndex("body"));
        String regEx = "[^0-9]";
        Pattern p = Pattern.compile(regEx);
        Matcher m = p.matcher(smsbody.toString());
        smsContent = m.replaceAll("").trim().toString();
        if (!TextUtils.isEmpty(smsContent)) {
          listener.onResult(smsContent);
        }

      }
    }
  }

  /*
   * 短信回调接口
   */
  public interface SmsListener {
    /**
     * 接受sms状态
     *
     * @Title: onResult
     */
    void onResult(String smsContent);
  }
}

2.使用:

SmsObserver smsObserver = new SmsObserver(this, new Handler(), new SmsObserver.SmsListener() {
      @Override
      public void onResult(String smsContent) {
 //根据需求写
 //如:editText.setText(smsContent);
      }    });this.getContentResolver().registerContentObserver(Uri.parse("content://sms/"), true, smsObserver);


感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!


# Android  # 短信验证码  # 验证码  # Android实现自动填充短信验证码  # Android开发工程中集成mob短信验证码功能的方法  # Android获取和读取短信验证码的实现方法  # Android实现短信验证码获取自动填写功能(详细版)  # Android开发中通过手机号+短信验证码登录的实例代码  # Android实现获取短信验证码并自动填写功能  # Android利用CursorLoader实现短信验证码自动填写  # Android实现短信验证码自动填写  # Android实现自动填写获取验证码功能  # Android短信验证码自动填写实现代码  # 关键词  # 收件箱  # 希望能  # 自定义  # 谢谢大家  # 回调  # 中含有  # regex  # util  # TextUtils  # Created  # Pattern  # Matcher  # SMS_URI_INBOX  # String  # sms  # private  # inbox  # final 


相关文章: 如何配置支付宝与微信支付功能?  寿县云建站:智能SEO优化与多行业模板快速上线指南  长沙做网站要多少钱,长沙国安网络怎么样?  如何快速查询网站的真实建站时间?  深圳企业网站制作设计,在深圳如何网上全流程注册公司?  免费视频制作网站,更新又快又好的免费电影网站?  建站主机选哪家性价比最高?  零基础网站服务器架设实战:轻量应用与域名解析配置指南  如何通过PHP快速构建高效问答网站功能?  ,sp开头的版面叫什么?  盐城做公司网站,江苏电子版退休证办理流程?  PHP 500报错的快速解决方法  建站主机CVM配置优化、SEO策略与性能提升指南  青岛网站建设如何选择本地服务器?  外汇网站制作流程,如何在工商银行网站上做外汇买卖?  表情包在线制作网站免费,表情包怎么弄?  制作证书网站有哪些,全国城建培训中心证书查询官网?  创业网站制作流程,创业网站可靠吗?  黑客入侵网站服务器的常见手法有哪些?  阿里云高弹*务器配置方案|支持分布式架构与多节点部署  如何快速选择适合个人网站的云服务器配置?  如何优化Golang Web性能_Golang HTTP服务器性能提升方法  如何通过NAT技术实现内网高效建站?  MySQL查询结果复制到新表的方法(更新、插入)  如何快速完成中国万网建站详细流程?  如何快速搭建高效简练网站?  如何选购建站域名与空间?自助平台全解析  c# Task.Yield 的作用是什么 它和Task.Delay(1)有区别吗  小说建站VPS选用指南:性能对比、配置优化与建站方案解析  交易网站制作流程,我想开通一个网站,注册一个交易网址,需要那些手续?  建站之星如何优化SEO以实现高效排名?  青岛网站设计制作公司,查询青岛招聘信息的网站有哪些?  建站OpenVZ教程与优化策略:配置指南与性能提升  定制建站策划方案_专业建站与网站建设方案一站式指南  建站主机与服务器功能差异如何区分?  制作网站的基本流程,设计网站的软件是什么?  网站制作网站,深圳做网站哪家比较好?  黑客如何通过漏洞一步步攻陷网站服务器?  建站之星在线客服如何快速接入解答?  武汉网站设计制作公司,武汉有哪些比较大的同城网站或论坛,就是里面都是武汉人的?  网站制作公司广州有几家,广州尚艺美发学校网站是多少?  国美网站制作流程,国美电器蒸汽鍋怎么用官方网站?  微信推文制作网站有哪些,怎么做微信推文,急?  天河区网站制作公司,广州天河区如何办理身份证?需要什么资料有预约的网站吗?  微信小程序 五星评分(包括半颗星评分)实例代码  网站广告牌制作方法,街上的广告牌,横幅,用PS还是其他软件做的?  网站制作模板下载什么软件,ppt模板免费下载网站?  如何在腾讯云服务器快速搭建个人网站?  如何用免费手机建站系统零基础打造专业网站?  如何在宝塔面板中创建新站点? 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。