您当前的位置: 首页 > 

xiangzhihong8

暂无认证

  • 1浏览

    0关注

    1324博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

获取手机端验证码

xiangzhihong8 发布时间:2014-02-25 17:22:11 ,浏览量:1

前言:android应用的自动化测试必然会涉及到注册登录功能,而许多的注册登录或修改密码功能常常需要输入短信验证码,因此有必要能够自动获得下发的短信验证码。

主要就是实时获取短信信息。

android上获取短信信息主要有BroadcastReceiver方式与数据库方式,要实时的话就BroadcastReceiver比较方便

[java]  view plain copy
  1. public class SMSReceiver extends BroadcastReceiver{  
  2.       private String verifyCode="";  
  3.     public static final String TAG = "SMSReceiver";  
  4.     public static final String SMS_RECEIVED_ACTION = "android.provider.Telephony.SMS_RECEIVED";  
  5.     @Override  
  6.     public void onReceive(Context context, Intent intent){  
  7.        if (intent.getAction().equals(SMS_RECEIVED_ACTION)){  
  8.            SmsMessage[] messages = getMessagesFromIntent(intent);  
  9.            for (SmsMessage message : messages){  
  10.               Log.i(TAG, message.getOriginatingAddress() + " : " +  
  11.                   message.getDisplayOriginatingAddress() + " : " +  
  12.                   message.getDisplayMessageBody() + " : " +  
  13.                   message.getTimestampMillis());  
  14.               String smsContent=message.getDisplayMessageBody();  
  15.               Log.i(TAG, smsContent);                
  16.               writeFile(smsContent);//将短信内容写入SD卡  
  17.            }  
  18.        }  
  19.     }  
  20.   
  21.     public final SmsMessage[] getMessagesFromIntent(Intent intent){  
  22.         Object[] messages = (Object[]) intent.getSerializableExtra("pdus");  
  23.         byte[][] pduObjs = new byte[messages.length][];  
  24.         for (int i = 0; i 
关注
打赏
1482932726
查看更多评论
立即登录/注册

微信扫码登录

0.0468s