Please anyone give me downloaded code or any useful link for getting the phone number of a SMS sender while receiving a message. I tried a lot.
Asked
Active
Viewed 733 times
-2

Jaffa
- 12,442
- 4
- 49
- 101

nil_born to hack
- 11
- 1
- 6
-
Please share your code that you tried – MysticMagicϡ Dec 11 '12 at 10:02
-
Explain what you have tried so far. And have you looked for http://developer.android.com/reference/android/telephony/SmsMessage.html ? – Jaffa Dec 11 '12 at 10:02
-
Refer to this link http://www.apriorit.com/our-company/dev-blog/227-handle-sms-on-android. I hope it helps – curious Dec 11 '12 at 10:04
2 Answers
0
Try this , here messages[0].getOriginatingAddress()
will return the phone number of a SMS sender
public void onReceive(Context context, Intent intent) {
Log.i(TAG, "Intent recieved: " + intent.getAction());
if (intent.getAction() == SMS_RECEIVED) {
Bundle bundle = intent.getExtras();
if (bundle != null) {
Object[] pdus = (Object[])bundle.get("pdus");
final SmsMessage[] messages = new SmsMessage[pdus.length];
for (int i = 0; i < pdus.length; i++) {
messages[i] = SmsMessage.createFromPdu((byte[])pdus[i]);
}
if (messages.length > -1) {
Log.i(TAG, "Message recieved: " + messages[0].getMessageBody());
Log.i(TAG, "Message recieved: " + messages[0].getOriginatingAddress());
}
}
}
}
Hope it will work, or lead you to a solution

Faizan
- 3,512
- 2
- 18
- 15
0
@Override
public void onReceive(Context ctx, Intent intent) {
//Log.d(Params.LOG_APP, "INCOMING SMS....");
Bundle extras = intent.getExtras();
if (extras == null)
return ;
Object[] dataArr = (Object[]) extras.get("pdus");
//Log.d(Params.LOG_APP, "dataArr ["+dataArr+"]");
for (Object data: dataArr) {
SmsMessage sms = SmsMessage.createFromPdu((byte[]) data);
//Log.d(Params.LOG_APP, "SMS ["+sms+"]");
String body = sms.getMessageBody();
String sender = sms.getOriginatingAddress();
long time = sms.getTimestampMillis();
}
}

FrancescoAzzola
- 2,666
- 2
- 15
- 22