Android中实现短信验证码自动填入
2015-08-17 14:47
513 查看
Android中实现短信验证码自动填入
由于目前的好多应用都有短信验证,短信验证码收到后,用户手动输入已经显得有麻烦,于是我写了这篇博文,希望能对大家有所帮助。
实现步骤:
1.写一个SmsBroadcastReceiver,在AndroidMainifirst.xml文件中注册:
类代码:
在Activity使用的方法:
总结:这三步搞定,很方便,让你的应用从此告别手动输入验证码的时代。
由于目前的好多应用都有短信验证,短信验证码收到后,用户手动输入已经显得有麻烦,于是我写了这篇博文,希望能对大家有所帮助。
实现步骤:
1.写一个SmsBroadcastReceiver,在AndroidMainifirst.xml文件中注册:
/** * 配置广播接收者: * <receiver android:name=".SMSBroadcastReceiver"> * <intent-filter android:priority="1000">表示: * 设置此广播接收者的级别为最高 */ <action android:name="android.provider.Telephony.SMS_RECEIVED"/> </intent-filter> </receiver>
类代码:
public class SmsBroadcastReceiver extends BroadcastReceiver{ private MessageListener mMessageListener; public SMSBroadcastReceiver() { super(); } @Override public void onReceive(Context context, Intent intent) { Object [] pdus= (Object[]) intent.getExtras().get("pdus"); for(Object pdu:pdus){ SmsMessage smsMessage=SmsMessage.createFromPdu((byte [])pdu); String sender=smsMessage.getDisplayOriginatingAddress(); String content=smsMessage.getMessageBody(); long date=smsMessage.getTimestampMillis(); Date timeDate=new Date(date); SimpleDateFormat simpleDateFormat=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); String time=simpleDateFormat.format(timeDate); System.out.println("短信来自:"+sender+"短信内容:"+content+"短信时间:"+time); mMessageListener.OnReceived(content); //如果短信来自10690157263152,不再往下传递,一般此号码可以作为短信平台的号码。 if("10690157263152".equals(sender)){ System.out.println(" abort "); abortBroadcast(); } } } // 回调接口 public interface MessageListener { public void OnReceived(String message); } public void setOnReceivedMessageListener(MessageListener messageListener) { this.mMessageListener=messageListener; } }
在Activity使用的方法:
mSMSBroadcastReceiver=new SMSBroadcastReceiver(); mSMSBroadcastReceiver.setOnReceivedMessageListener(new MessageListener() { public void OnReceived(String message) { mTextView.setText(message); } });
总结:这三步搞定,很方便,让你的应用从此告别手动输入验证码的时代。
相关文章推荐
- Android简介
- Android Hook神器:XPosed入门与登陆劫持演示
- 分享一种最简单的Android打渠道包的方法
- android开发 自定义图文混排控件
- Android 动画详解
- android sdk 离线安装
- 获取Android手机SD卡容量大小
- Android笔记:去除标题栏
- Android清除本地数据缓存代码
- AndroidStudio开发工具快捷键整理分享
- Android事件分发机制
- 对于startActivity的使用改进
- android强行隐藏自带的输入法
- Mac下Android Studio快捷键
- 关于Android中的四大组件(Service的开启与关闭)
- android组件研究
- Android Camera 使用小结
- Android - sendOrderedBroadcast也可以这么用
- android 按需加载视图
- Java or Android 知识点书签