-
2021-06-05 13:26:20
如此当有短信收到时就可以将短信内容写到SD卡中的文件里
在另一个java类中写个读取文件内容的方法,并在写测试用例过程中,将得到的String按验证码的具体位置截取即可。
public String read(String str) throws IOException{
File file=new File(str);
FileInputStream fis=new FileInputStream(file);
StringBuffer sb=new StringBuffer();
BufferedInputStream bis=new BufferedInputStream(fis);
BufferedReader read = new BufferedReader (new InputStreamReader(bis));
int c=0;
while ((c=read.read())!=-1) {
sb.append((char) c);
}
read.close();
bis.close();
fis.close();
Log.i(TAG, sb.toString());
String verify=sb.toString();
return verify;
}
最后需要在manifest中增加申明,且注册权限
测试过程中需要用到短信验证码时就可以实时获取了
22/2<12
更多相关内容 -
python实现发送和获取手机短信验证码
2020-09-21 18:38:38主要介绍了python实现发送和获取手机短信验证码的相关资料,讲解了python如何解决接口测试获取手机验证码问题,感兴趣的小伙伴们可以参考一下 -
获取短信验证码.zip
2020-01-29 02:36:28易语言获取短信验证码 易语言获取短信验证码易语言获取短信验证码易语言获取短信验证码易语言获取短信验证码易语言获取短信验证码易语言获取短信验证码易语言获取短信验证码易语言获取短信验证码易语言获取短信... -
Android实现短信验证码获取自动填写功能(详细版)
2021-01-05 10:15:19现在的应用在注册登录或者修改密码中都用到了短信验证码,那在android中是如何实现获取短信验证码并自动填写的呢? 首先,需要要在manifest中注册接收和读取短信的权限: ”android.permission.RECEIVE_SMS”> ”... -
免费获取短信验证码接码软件 带e
2021-03-18 19:22:17随时会失效导致获取不到短信验证码,请勿用来注册本人重要的信息!! 请勿用于非法用途!!不支持政F、支付、贷款、购物类等非正常验证码接收, 请勿将本号码用于非法用途,如出现违法行为,号码平台方有权协助 有关部门... -
Android如何通过手机自动获取短信验证码
2020-09-02 16:45:13注册帐号时,经常需要手机获取验证码,Android如何通过手机自动获取短信验证码,下面看看小编给大家分享的一段代码,感兴趣的小伙伴们可以参考一下 -
JS实现获取短信验证码功能(前台代码)
2013-12-10 12:06:10也是通过网络搜集整理的,我自己在实际项目中用到,使用了jquery技术,很简单,全套的,保证一看就懂。 -
自动获取短信验证码
2015-10-26 14:56:32自动读取短信中的内容,获取指定格式的验证码。避免用户退出当前应用去查看短信中的验证码。 -
Android实现自动提取短信验证码功能
2021-01-05 17:23:01本文实例讲解了Android自动提取短信验证码解决方案,分享给大家供大家参考,具体内容如下 主要功能及优点 1.收到验证码短信后,自动提取短信中的验证码填写到相应输入框 2.可指定一个号码,只读取与他有关短信,... -
JS实现简单短信验证码界面
2020-12-11 03:22:091.要实现短信验证码界面,首先要有一个文本框,旁边是按钮,点击时开始倒计时。 2.先创建文本框和按钮,按钮设置对应的id,然后...js发送短信验证码</title> </head> <body> <input type="text -
JS获取短信验证码倒计时的实现代码
2020-10-19 19:57:06主要介绍了JS获取短信验证码倒计时的实现代码,需要的朋友可以参考下 -
Android注册登录实时自动获取短信验证码
2020-09-01 22:38:56注册登录或修改密码功能常常需要输入短信验证码,如何自动获取短信验证码,这篇文章就为大家介绍了Androidcv注册登录自动获取短信验证码的实现代码,感兴趣的小伙伴们可以参考一下 -
Android获取短信验证码的实现方法
2020-09-01 17:20:54为了保护用户信息的安全性,开始使用通过服务器向用户发送验证码的方式,接下来通过本文给大家介绍android获取短信验证码的实现方法,非常不错,感兴趣的朋友一起看看吧 -
获取短信验证码的文件
2020-05-19 18:01:56发送短信的API 可以直接就用 不过我把用户名和密码***了 所以还是需要账号密码的 呵呵呵 -
【在线验证码获取】自动获取特定号码的验证短信中的验证码 纯数字型
2021-05-21 18:13:53【在线验证码获取】自动获取特定号码的验证短信中的验证码 纯数字型 自动获取特定号码的验证短信中的验证码(纯数字型) 只一个按键,这个按键上面有倒计时,倒计时结束显示重新发送验证码,在倒计时进行中输入完... -
Android自动获取输入短信验证码库AutoVerifyCode详解
2020-08-29 21:52:23主要为大家详细介绍了Android自动获取输入短信验证码库,具有一定的参考价值,感兴趣的小伙伴们可以参考一下 -
jquery实现表单获取短信验证码代码
2021-01-19 17:03:57效果图: ...jquery表单获取短信验证码代码</title> [removed][removed] [removed] $(function(){ //获取短信验证码 var validCode=true; $(.msgs).click (function () { var time=30; -
android 获取短信的验证码
2020-07-30 02:44:06当系统收到短信时,会发出一个action名称为android.provider.Telephony.SMS_RECEIVED的广播Intent,该Intent存放了接收到的短信内容,使用名称“pdus”即可从Intent中获取短信内容。最好使用动态注册的方法,去注册... -
Android实现获取短信验证码并自动填写功能
2020-08-29 21:52:41主要为大家详细介绍了Android实现获取短信验证码并自动填写功能,具有一定的参考价值,感兴趣的小伙伴们可以参考一下 -
登录页获取短信验证码 读取短信验证码到键盘
2021-05-25 14:00:04首先定义一个SMSContentObserver 来拦截短信内容: package “你的包名”; import android.content.Context; import android.database.ContentObserver; import android.database.Cursor; import android.net.Uri...需要实现如下效果:
首先定义一个SMSContentObserver 来拦截短信内容:
package “你的包名”; import android.content.Context; import android.database.ContentObserver; import android.database.Cursor; import android.net.Uri; import android.os.Handler; import android.text.TextUtils; import android.util.Log; import java.util.regex.Matcher; import java.util.regex.Pattern; public class SMSContentObserver extends ContentObserver { private static String TAG = "SMSContentObserver"; private String patternCoder = "\\d{4}"; //正则表达式 取4位数 private String strContent; //验证码内容 private Context mContext ; private Handler mHandler ; //更新UI线程 private String TELPHONE = "TMRTXMIN"; // 短信来源号码 private String TelPHONECONTEXT ="iViralLink"; // 短信内容 特殊关键字 // 8448631136 public SMSContentObserver(Context context, Handler handler) { super(handler); mContext = context ; mHandler = handler ; } /** * 当所监听的Uri发生改变时,就会回调此方法 * * @param selfChange 此值意义不大 一般情况下该回调值false */ @Override public void onChange(boolean selfChange){ Log.i(TAG, "the sms table has changed"); //查询收件箱里的内容 Uri outSMSUri = Uri.parse("content://sms/inbox") ; Cursor c = mContext.getContentResolver().query(outSMSUri, null, null, null,"date desc"); if(c != null){ Log.i(TAG, "the number of send is "+c.getCount()) ; StringBuilder sb = new StringBuilder() ; c.moveToNext(); String message = c.getString(c.getColumnIndex("body")); // 短信内容 String phone = c.getString(c.getColumnIndex("address")); //短信来源号码 Log.i(TAG,"message : "+message); Log.i(TAG,"phone : "+phone); c.close(); // if(checkPhone(phone) &&checkString(message)){ //指定号码 指定字符串匹配 String code = patternCode(message); assert code != null; if(!TextUtils.isEmpty(code) ){ strContent = code; } mHandler.obtainMessage(1, sb.toString()).sendToTarget(); // } } } //指定一个号码,只读取与他有关的新消息。 private boolean checkPhone(String phone) { // TODO Auto-generated method stub String c_phone = TELPHONE; if(c_phone.equals(phone) ) return true; return false; } //指定一关键字符串,用来确认短信内容是我们想要去提取的 private boolean checkString(String message){ if(TextUtils.isEmpty(message)) return false; Pattern p = Pattern.compile(TelPHONECONTEXT); //这个关键字符串可以自定义 Matcher matcher = p.matcher(message); if(matcher.find()) return true; return false; } //匹配短信中的数字(验证码) private String patternCode(String patternContent){ if(TextUtils.isEmpty(patternContent)) return null; Pattern p = Pattern.compile(patternCoder); Matcher matcher = p.matcher(patternContent); if(matcher.find()) return matcher.group(); return null; } public String getStrContent(){ return strContent; } }
然后在需要的地方调用:
private SMSContentObserver smsContentObserver; private Handler mHandler = new Handler() { public void handleMessage(Message msg) { switch (msg.what) { case 1: String outbox = smsContentObserver.getStrContent();//(String) msg.obj; 验证码内容 // et_code.setText(outbox); //直接把验证码输入到指定输入框 break; default: break; } } }; private void initRegisterContentObserver() { smsContentObserver = new SMSContentObserver(this, mHandler); Uri smsUri = Uri.parse("content://sms"); getContentResolver().registerContentObserver(smsUri, true, smsContentObserver); } @Override protected void onDestroy() { super.onDestroy(); if (getContentResolver()!=null){ getContentResolver().unregisterContentObserver(smsContentObserver); } } @Override protected int getLayoutId() { return R.layout.act_register; } @Override protected void onCreate(@Nullable Bundle bundle) { super.onCreate(bundle); initRegisterContentObserver(); //初始化smsContentObserver 拦截验证码 }
需要注意,edittext的inputstyle需要设置为number:
<EditText android:id="@+id/et_code" android:layout_width="match_parent" android:layout_height="@dimen/dp30" android:background="@null" android:layout_centerVertical="true" android:layout_toRightOf="@+id/iv_code" android:lines="1" android:textSize="@dimen/sp14" android:hint="请输入验证码" android:textColorHint="#999" android:textColor="#fff" android:inputType="number" android:layout_toLeftOf="@+id/tv_get_code" android:layout_marginRight="@dimen/dp10" />
最后就是在获取短信权限,这个属于危险权限,需要动态获取:
@Override protected void onCreate(@Nullable Bundle bundle) { super.onCreate(bundle); if(!checkPermission()) if(Build.VERSION.SDK_INT>=Build.VERSION_CODES.M){ requestPermissions(PS, PS.hashCode()); } initRegisterContentObserver(); } public void onRequestPermissionsResult(int req, @NonNull String[] ps, @NonNull int[] res){ if(req==PS.hashCode()){ if(!checkPermission()) getProxy().alert("定位权限不足,请检查手机设置"); return; } super.onRequestPermissionsResult(req, ps, res); } boolean checkPermission(){ boolean ok=true; for(String p: PS){ ok=checkCallingOrSelfPermission(p)== PackageManager.PERMISSION_GRANTED; if(!ok) break; } if(!ok) return false; return true; } static final String[] PS={ // Manifest.permission.ACCESS_FINE_LOCATION, //定位 // Manifest.permission.WRITE_EXTERNAL_STORAGE, //SD卡写入 Manifest.permission.READ_SMS, Manifest.permission.RECEIVE_SMS };
实际完成实现的效果如下:
完成~
-
JavaScript获取短信验证码(周期性)
2020-10-20 18:10:44主要为大家详细介绍了JavaScript周期性获取短信验证码的相关资料,具有一定的参考价值,感兴趣的小伙伴们可以参考一下 -
Android手机号注册、绑定手机号获取短信验证码实例
2021-01-04 20:06:36本文写了一个常见的功能——手机app中注册或绑定手机号的获取验证码的功能,也就是短信验证功能 具体效果就是,你在注册界面填写手机号,点击获取验证码按钮,—然后会收到验证短信,填入验证码后点击注册按钮,... -
Android自动获取短信验证码功能
2021-01-04 21:54:08* 短信监听器,用于自动填充验证码 */ public class SMSContentObserver extends ContentObserver { public final String SMS_URI_INBOX = content://sms/inbox;//收信箱 private Activity activity = null; ... -
Flutter之Timer实现短信验证码获取60s倒计时功能的代码
2020-08-18 21:38:19主要介绍了Flutter之Timer实现短信验证码获取60s倒计时功能,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下 -
获取短信验证码并自动填写demo
2017-03-14 10:51:19获取短信验证码并自动填写demo -
获取短信验证码源码
2018-04-24 10:30:08在注册或者登录的时候,执行该代码可以收到手机验证码
收藏数
23,951
精华内容
9,580