任务要求:对短信实现自动阅读功能(仅要求英语短信),能够捕获短信的到来;
阅读可以实时,或非实时;
完成对SDcard的正确操作;

解决方案 »

  1.   

    当系统收到短信时,会发出一个action名称为android.provider.Telephony.SMS_RECEIVED的广播Intent,该Intent存放了接收到的短信内容,使用名称“pdus”即可从Intent中获取短信内容。public class SMSReceiver extends BroadcastReceiver
    {
    /*当收到短信时,就会触发此方法*/
    public void onReceive(Context context, Intent intent)
    {
      Bundle bundle = intent.getExtras();
      Object messages[] = (Object[]) bundle.get("pdus");
      SmsMessage smsMessage[] = new SmsMessage[messages.length];
      for (int n = 0; n < messages.length; n++)
      {
       smsMessage[n] = SmsMessage.createFromPdu((byte[]) messages[n]);
      }
      //产生一个Toast
      Toast toast = Toast.makeText(context, "短信内容: " + smsMessage[0].getMessageBody(),   Toast.LENGTH_LONG);
      //设置toast显示的位置
      //toast.setGravity(Gravity.TOP|Gravity.LEFT, 0, 200);
      //显示该Toast
      toast.show();
    }
    }