Tôi gặp sự cố khi tìm số điện thoại của người nhận từ SMS thô đến. Đây là mã mà tôi đang cố gắng:Android: cách nhận số điện thoại người gửi và người nhận từ sms thô
Ai đó có thể cho tôi biết cách lấy lại số nhận phonenumber từ SMS thô.
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();
}
}
Cảm ơn bạn đã trợ giúp trước!
Câu trả lời hiện tại không cho biết cách nhận số của bên nhận. Tôi sẽ trao tiền thưởng cho một câu trả lời có thể lấy số điện thoại, hoặc cho thấy rằng nó không thể. –
@DaveChen Siêu dữ liệu PDU cho một tin nhắn SMS không chứa địa chỉ của người nhận và do đó không thể truy xuất trực tiếp từ văn bản đến. Có thể, tuy nhiên, để xác minh số của thiết bị bằng cách để thiết bị tự gửi một văn bản. –