0

我开发了一个用于发送和接收消息的原型。我能够获取收件人详细信息,例如号码和消息。问题是我想检测多个接收器(超过 1 个)。现在一种方法是检查消息是否是彩信,但问题是如果消息包含任何媒体,那么它也是彩信。我该如何解决这个问题。对我们来说,位数是 10,但可能因国家/地区而异。我想让它通用。

    public void onReceive(Context context, Intent intent) {
     //---get the SMS message passed in---

    Bundle bundle = intent.getExtras();        
    SmsMessage[] msgs = null;
    String str = "";       
    if (bundle != null)
    {
        //---retrieve the SMS message received---
        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]);                
            str += "SMS from " + msgs[i].getOriginatingAddress();                     
            str += " :";
            str += msgs[i].getMessageBody().toString();
            str += "\n";        
        }
        intent.putExtra(RingtoneManager.EXTRA_RINGTONE_SHOW_SILENT, true);
        //---display the new SMS message---
        Toast.makeText(context, str, Toast.LENGTH_SHORT).show();

       // notification.defaults = Notification.DEFAULT_SOUND;

    }           
}

我想检查收到的消息是彩信还是短信。我怎样才能做到这一点 ?

4

0 回答 0