Linux 拨号vps windows公众号手机端

Android怎么实现自动获取短信验证码功能

lewis 8年前 (2017-12-09) 阅读数 5 #程序编程
文章标签 android

要实现自动获取短信验证码功能,你可以使用以下步骤:
1. 在AndroidManifest.xml文件中添加以下权限:

<uses-permissionandroid:name="android.permission.RECEIVE_SMS"/>

<uses-permissionandroid:name="android.permission.READ_SMS"/>

2. 创建一个BroadcastReceiver类来接收短信:

publicclassSMSReceiverextendsBroadcastReceiver{

privatestaticfinalStringSMS_RECEIVED="android.provider.Telephony.SMS_RECEIVED";

@Override

publicvoidonReceive(Contextcontext,Intentintent){

if(intent.getAction().equals(SMS_RECEIVED)){

Bundlebundle=intent.getExtras();

if(bundle!=null){

Object[]pdus=(Object[])bundle.get("pdus");

if(pdus!=null){

for(Objectpdu:pdus){

SmsMessagesmsMessage=SmsMessage.createFromPdu((byte[])pdu);

StringmessageBody=smsMessage.getMessageBody();

//在这里处理短信内容

}

}

}

}

}

}

3. 在你的Activity中注册SMSReceiver:

privateSMSReceiversmsReceiver;

@Override

protectedvoidonCreate(BundlesavedInstanceState){

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

smsReceiver=newSMSReceiver();

IntentFilterintentFilter=newIntentFilter("android.provider.Telephony.SMS_RECEIVED");

registerReceiver(smsReceiver,intentFilter);

}

@Override

protectedvoidonDestroy(){

super.onDestroy();

unregisterReceiver(smsReceiver);

}

这样,当你的应用在前台运行时,SMSReceiver将会自动接收到短信并在onReceive方法中处理短信内容。你可以根据自己的需求对短信内容进行解析,获取验证码等操作。请注意,由于Android 4.4及以上版本对SMS_RECEIVED广播进行了限制,只有用户选择你的应用作为默认短信应用时,才能收到短信。

版权声明

本文仅代表作者观点,不代表米安网络立场。

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

热门