SmsObserverForAndroid

by Robin-jiangyufeng

Robin-jiangyufeng /SmsObserverForAndroid

这是一个用于拦截android实时短信的库,可以进行短信过滤,得到自己想要的内容,可以用于需要自动填写短信验证码的app项目

140 Stars 44 Forks Last release: Not found 8 Commits 0 Releases

Available items

No Items, yet!

The developer of this repository has not created any items for sale yet. Need a bug fixed? Help with integration? A different license? Create a request here:

项目介绍

项目地址:

SmsObserverForAndroid

介绍

  • 这是一个用于拦截android实时短信的库,可以进行短信过滤,得到自己想要的内容,可以用于需要自动填写短信验证码的app项目

功能

  • 用于监听当前接收到的短信信息
  • 过滤接收到的短信,得到自己想要的内容

使用场景

  • 可以用于自动填写短信验证码的app项目
  • 自己想...

使用方法

所需权限

    
    

初始化

    /***
     * 构造器
     * @param context
     * @param callback 短信接收器
     * @param smsFilter 短信过滤器
     */
     SmsObserver smsObserver=new SmsObserver(this, new SmsResponseCallback() {
                 @Override
                 public void onCallbackSmsContent(String smsContent) {
                     //这里接收短信
                 }
             }, new VerificationCodeSmsFilter("180"));

注册短信变化监听器

  • 在注册监听器以后,短信观察者就已经启动短信变化监听,接下只要接收短信,对短信做处理就可以了
    /***
     * 注册短信变化观察者
     *
     * @see [类、类#方法、类#成员]
     */
   smsObserver.registerSMSObserver();

注销短信变化监听器

  • 在不需要再使用短信接收功能的时候,请注销短信监听器,不然后续还是可以接收得到短信
    /***
     * 注销短信变化观察者
     *
     * @see [类、类#方法、类#成员]
     */
   smsObserver.unregisterSMSObserver();

短信过滤器

  • 要接收到自己想要的短信内容只要实现自己的SmsFilter短信过滤器即可
/**
 * 短信验证码过滤器
 *
 * @author 江钰锋 00501
 * @version [版本号, 16/6/2]
 * @see [相关类/方法]
 * @since [产品/模块版本]
 */
public class VerificationCodeSmsFilter implements SmsFilter {
    /**
     * 需要过滤的发短信的人
     */
    private String filterAddress;

public VerificationCodeSmsFilter(String filterAddress) {
    this.filterAddress = filterAddress;
}

@Override
public String filter(String address, String smsContent) {
    if (address.startsWith(filterAddress)) {
        Pattern pattern = Pattern.compile("(\\d{4,8})");//匹配4-8位的数字
        Matcher matcher = pattern.matcher(smsContent);
        if (matcher.find()) {
            return matcher.group(0);
        }
    }
    return null;
}

}

关于作者Robin

We use cookies. If you continue to browse the site, you agree to the use of cookies. For more information on our use of cookies please see our Privacy Policy.