ورود

View Full Version : دریافت اسم مخاطب از SMS



barnamenevisjavan
جمعه 04 مهر 1393, 20:25 عصر
سلام با کد زیر پیامی که به گوشی دریافت میشه رو من دریافت میکنم و توی پیغام Toast نمایش میدم.
فقط تونستم شماره و متن پیام رو نمایش بدم میخوام اسم مخاطب هم نمایش داده بشه لطفا راهنمایی کنید
final Bundle bundle = intent.getExtras();
try {

if (bundle != null) {

final Object[] pdusObj = (Object[]) bundle.get("pdus");

for (int i = 0; i < pdusObj.length; i++) {

SmsMessage currentMessage = SmsMessage.createFromPdu((byte[]) pdusObj[i]);
String phoneNumber = currentMessage.getDisplayOriginatingAddress();
String senderNum = phoneNumber;
String message = currentMessage.getDisplayMessageBody();
Log.i("SmsReceiver", "senderNum: "+ senderNum + "; message: " + message);
// Show Alert
int duration = Toast.LENGTH_LONG;
Toast toast = Toast.makeText(context,
"senderNum: "+ senderNum + ", message: " + message, duration);
toast.show();

}
}
} catch (Exception e) {
Log.e("SmsReceiver", "Exception smsReceiver" +e);

}

slr560
جمعه 04 مهر 1393, 21:30 عصر
این ۲تا تاپیک رو نگاه بنداز ببین کارتو راه میندازه

https://gist.github.com/evandrix/7058235

http://stackoverflow.com/questions/4301064/how-to-get-the-first-name-and-last-name-from-android-contacts

slr560
جمعه 04 مهر 1393, 23:08 عصر
پست قبلی دریافت از Contact ها بود که فکر کنم نیاز نداشتی بهش
ولی اینو پیدا کردم تست کن


public String getContactName(Context context, String phoneNumber) {
ContentResolver cr = context.getContentResolver();
Uri uri = Uri.withAppendedPath(PhoneLookup.CONTENT_FILTER_UR I,
Uri.encode(phoneNumber));
Cursor cursor = cr.query(uri,
new String[] { PhoneLookup.DISPLAY_NAME }, null, null, null);
if (cursor == null) {
return null;
}
String contactName = null;
if (cursor.moveToFirst()) {
contactName = cursor.getString(cursor
.getColumnIndex(PhoneLookup.DISPLAY_NAME));
}
if (cursor != null && !cursor.isClosed()) {
cursor.close();
}
return contactName;
}


این تاپیکم یه نگاه بنداز:
http://stackoverflow.com/questions/16074617/how-to-get-contact-name-when-receiving-sms