Я пытаюсь получить количество контактов, используя идентификатор из смс-ммс/разговоров URIандроид идентификатор получателя не возвращает правильный номер
final Uri URI_SIMPLE = Uri.parse("content://mms-sms/conversations").buildUpon()
.appendQueryParameter("simple", "true").build();
Я нахожу, хотя, что когда я запускаю запрос и он возвращает число, это не правильный номер для этого идентификатора, который я дал.
public static String fetchNumberfromID(String contactID, Context c)
{
Log.i("Utility", "*******ID********" + contactID);
Cursor phones = c.getContentResolver().query(ContactsContract.CommonDataKinds.Phone.CONTENT_URI, null,
ContactsContract.CommonDataKinds.Phone.CONTACT_ID + " = " + contactID, null, null);
//Log.v("Cursor Object", DatabaseUtils.dumpCursorToString(phones));
String number = null;
while (phones.moveToNext())
{
number = phones.getString(phones.getColumnIndex(ContactsContract.CommonDataKinds.Phone.NUMBER));
int type = phones.getInt(phones.getColumnIndex(ContactsContract.CommonDataKinds.Phone.TYPE));
switch (type)
{
case ContactsContract.CommonDataKinds.Phone.TYPE_HOME:
// do something with the Home number here...
break;
case ContactsContract.CommonDataKinds.Phone.TYPE_MOBILE:
// do something with the Mobile number here...
break;
case ContactsContract.CommonDataKinds.Phone.TYPE_WORK:
// do something with the Work number here...
break;
}
}
phones.close();
return number;
}
Я что-то не так? Адресат recipient_id должен быть правильным идентификатором, который используется правильно? Или есть где-то еще, я должен пытаться получить цифры от того, что они не хранятся в контактах?