0

我已经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" />

帮助表示赞赏。

谢谢你。

4

0 回答 0