(4.3之前的)应该是调用接口,但具体的回调接口不清楚,也不清楚如何自动刷新
1条回答 默认 最新
- keyborad_boy 2016-01-07 02:38关注
// 注册接收.监听短信receiver
smsReceiver = new SMSReceiver();
IntentFilter receiverFilter = new IntentFilter("android.provider.Telephony.SMS_RECEIVED");
registerReceiver(smsReceiver, receiverFilter);/** * 监听接收到的短信 * @author Administrator */ class SMSReceiver extends BroadcastReceiver { @Override public void onReceive(Context context, Intent intent) { // TODO Auto-generated method stub if (intent.getAction().equals("android.provider.Telephony.SMS_RECEIVED")) { Object[] pdus = (Object[]) intent.getExtras().get("pdus"); // 不知道为什么明明只有一条消息,传过来的却是数组,也许是为了处理同时同分同秒同毫秒收到多条短信 // 但这个概率有点小 SmsMessage[] message = new SmsMessage[pdus.length]; StringBuilder sb = new StringBuilder(); System.out.println("pdus长度" + pdus.length); String address = ""; for (int i = 0; i < pdus.length; i++) { // 虽然是循环,其实pdus长度一般都是1 message[i] = SmsMessage.createFromPdu((byte[]) pdus[i]); sb.append(message[i].getDisplayMessageBody()); } System.out.println(sb.toString()); register_code_et.setText(sb.toString().substring(8, 14)); return; } } }
解决 无用评论 打赏 举报