短信android接收功能

时间:2012-03-05 06:56:24

标签: android sms

我在Android应用程序中遇到短信问题。我需要你的帮助才能收到我发送信息的食谱地址。

示例代码如下。

public void oncall() {
        // public void onReceive(Context context, Intent intent) {
        // ---get the SMS message passed in---
        Bundle bundle = new Bundle(); // intent.getExtras();

        SmsMessage[] msgs;
        // String str = "";
        if (bundle != null) {
            // ---retrieve the SMS message received---
             Object[] pdus = (Object[]) bundle.get("pdus");
            msgs = new SmsMessage[pdus.length];
            for (int i = 0; i < msgs.length; i++) {
                msgs[i] = SmsMessage.createFromPdu((byte[]) pdus[i]);
                String Mobno = msgs[i].getOriginatingAddress();
                // String message = msgs[i].getMessageBody().toString();
                output.setText("" + Mobno);
            }
            // ---display the new SMS message---
            // Toast.makeText(context, str, Toast.LENGTH_SHORT).show();
        }
    }

1 个答案:

答案 0 :(得分:1)

     Bundle bundle = intent.getExtras();
   if (bundle != null)
 {
   Object[] pdus = (Object[]) bundle.get("pdus");
   for (Object pdu : pdus)
 {
  SmsMessage smsMessage = SmsMessage.createFromPdu((byte[]) pdu);

 if(smsMessage.getOriginatingAddress() != null)
 {
String num = smsMessage.getOriginatingAddress();

 }
}
}