大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。
Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺
Android中实现短信验证码自动填入
由于目前的好多应用都有短信验证,短信验证码收到后,用户手动输入已经显得有麻烦,于是我写了这篇博文,希望能对大家有所帮助。
实现步骤:
1.写一个SmsBroadcastReceiver,在AndroidMainifirst.xml文件中注册:
/** * 配置广播接收者: * * 表示: * 设置此广播接收者的级别为最高 */
类代码:
public class SmsBroadcastReceiver extends BroadcastReceiver{private MessageListener mMessageListener; public SMSBroadcastReceiver() { super(); }@Overridepublic 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); } });
总结:这三步搞定,很方便,让你的应用从此告别手动输入验证码的时代。
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/160035.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...