我從收到原始短信中找到收件人電話號碼時遇到問題。這裏是我試圖的代碼:Android:如何從原始短信獲取發件人和收件人電話號碼
有人可以告訴我如何從原始短信中檢索接收方的電話號碼。
public class SMSReceiver extends BroadcastReceiver {
private Context context;
@Override
public void onReceive(Context context, Intent intent) {
this.context = context;
// Parse the SMS.
Bundle bundle = intent.getExtras();
SmsMessage[] msgs = null;
String str = "";
if (bundle != null)
{
// Retrieve the SMS.
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]);
//appending to str String.
str += "OriginatingAddress: ";
str += msgs[i].getOriginatingAddress();
str += " :\n";
str += " :\n";
str += "DisplayOriginatingAddress: ";
str += msgs[i].getDisplayOriginatingAddress();
str += " :\n";
str += " :\n";
str += "DisplayMessageBody: ";
str += msgs[i].getDisplayMessageBody();
str += " :\n";
str += " :\n";
str += "MessageBody: ";
str += msgs[i].getMessageBody();
}
Toast.makeText(context, str, Toast.LENGTH_SHORT).show();
}
}
感謝您的幫助!
當前答案不顯示如何獲取接收方的號碼。我會獎賞一個可以得到電話號碼的答案,或者表明這是不可能的。 –
@DaveChen SMS消息的PDU元數據不包含收件人的地址,因此無法直接從傳入文本中檢索。但是,可以通過讓設備自行發送文本來驗證設備的編號。 –