最近在做一个发送短信的程序,现在遇到了一个问题:
  SmsManager smsMan=SmsManager.getDefault();
  smsMan.sendTextMessage("10086", null, "你好!", sendIntent, deliveryIntent);  sendIntent和deliveryIntent是两个BroadcastReceiver,用于接收短信是否发送成功以及对方是否接收到短信的广播,现在的问题是,sendIntent可以监听到短信发送成功的广播,但是deliveryIntent接收不到对方是否接收到短信的广播。我用真机测试过,发送短信对方是可以收到的,但是deliveryIntent没有反应。求各位大虾帮帮忙。

解决方案 »

  1.   

    还真是一个很奇葩的问题。你不是服务商,应该监测不到对方收没收到把。
    现在只有一个奇葩的方法能帮你解决。
    smsMan.sendTextMessage("10086", null, "你好,回复Y表示你已经收到短信了", sendIntent, deliveryIntent);
    然后再监听回传的短信。
    - - 太奇葩了。
      

  2.   

    请求发送报告可以的,android手机在信息设置里有这项,短信pdu编码有一字段是和这个功能相关,不过实现情况中不同运营商间互发短信有可能收不到这个反馈。