无法在2.3.6中接收SMS_RECEIVED侦听器

时间:2012-09-19 11:53:19

标签: android

我在app中实现了SMS_RECEIVED侦听器。它在android 2.2中工作,但在2.3.7中没有。

android 2.3.7是否存在任何兼容性问题。

我的代码是

public class SmsListener extends BroadcastReceiver {

  @Override
  public void onReceive(Context context, Intent intent) {

    if (intent.getAction().equals("android.provider.Telephony.SMS_RECEIVED")) {
      Bundle bundle = intent.getExtras();
      SmsMessage[] msgs = null;
      // String msg_from;
      if (bundle != null) {
        try {
          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]);
            // msg_from = msgs[i].getOriginatingAddress();
            String msgBody = msgs[i].getMessageBody();
            Toast.makeText(context, msgBody, Toast.LENGTH_LONG).show();
          }
        } catch (Exception e) {

        }
      }
    }
  }

此外,我在清单文件中添加了相应的条目:

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

帮助表示感谢。

谢谢。

0 个答案:

没有答案