手机
当前位置:查字典教程网 >编程开发 >安卓软件开发 >Android如何通过手机自动获取短信验证码
Android如何通过手机自动获取短信验证码
摘要:本文实例为大家分享了Android实现手机自动获取短信验证码功能,供大家参考,具体内容如下1、短信监听广播2、读取短信内容3、截取短信内容【...

本文实例为大家分享了Android实现手机自动获取短信验证码功能,供大家参考,具体内容如下

1、短信监听广播

2、读取短信内容

3、截取短信内容【可以 reg截取】

4、填写至相应控件

PS:DevStore测试没有获取到验证码

Android如何通过手机自动获取短信验证码1

Android如何通过手机自动获取短信验证码2

源码片段

public class MainActivity extends Activity { private BroadcastReceiver smsReceiver; private IntentFilter filter2; private Handler handler; private EditText et; private String strContent; private String patternCoder = "(?<!--d)d{6}("; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); et = (EditText) findViewById(R.id.et); handler = new Handler() { public void handleMessage(android.os.Message msg) { et.setText(strContent); }; }; filter2 = new IntentFilter(); filter2.addAction("android.provider.Telephony.SMS_RECEIVED"); filter2.setPriority(Integer.MAX_VALUE); smsReceiver = new BroadcastReceiver() { @Override public void onReceive(Context context, Intent intent) { Object[] objs = (Object[]) intent.getExtras().get("pdus"); for (Object obj : objs) { byte[] pdu = (byte[]) obj; SmsMessage sms = SmsMessage.createFromPdu(pdu); // 短信的内容 String message = sms.getMessageBody(); Log.d("logo", "message " + message); // 短息的手机号。。+86开头? String from = sms.getOriginatingAddress(); Log.d("logo", "from " + from); Time time = new Time(); time.set(sms.getTimestampMillis()); String time2 = time.format3339(true); Log.d("logo", from + " " + message + " " + time2); strContent = from + " " + message; handler.sendEmptyMessage(1); if (!TextUtils.isEmpty(from)) { String code = patternCode(message); if (!TextUtils.isEmpty(code)) { strContent = code; handler.sendEmptyMessage(1); } } } } }; registerReceiver(smsReceiver, filter2); } @Override protected void onDestroy() { super.onDestroy(); unregisterReceiver(smsReceiver); } /** * 匹配短信中间的6个数字(验证码等) * * @param patternContent * @return */ 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; } }</pre-->

文章末尾为大家在分享两个专题,供大家参考:

《PHP验证码大全》

《ASP.NET验证码大全》

以上就是Android通过手机自动获取短信验证码的详细代码,希望对大家实现手机自动获取短信验证码有所帮助。

【Android如何通过手机自动获取短信验证码】相关文章:

Android 通用型手电筒代码

android开发中获取手机分辨率大小的方法

android中可以通过两种方式调用接口发送短信

Android中手机震动的设置(Vibrator)的步骤简要说明

Android从服务器端获取数据的几种方法

Android对开机自启动的限制

Android重启运用程序的代码

Android 如何收集已发布程序的崩溃信息

Android取消EditText自动获取焦点默认行为

Android 新手入门体验

精品推荐
分类导航