Hi, you should use another URI to retrieve all phones number. With
your code, you can get the person's id and use it to get all his phone
numbers. Here is an example:
if (column.equals(People._ID)) {
String whereClause = "person="+contactsCursor.getString
(contactsCursor.getColumnIndex(column));
String[] phonesProjection = new String[] {Phones.NUMBER,
Phones.TYPE};
Cursor phonesCursor = ApplicationView.getCurrentView().managedQuery
(Contacts.Phones.CONTENT_URI, phonesProjection, whereClause, null,
null);
int phonesCursorCount = phonesCursor.getCount();
if (phonesCursorCount > 0) {
phonesCursor.moveToFirst();
int numberColumn = phonesCursor.getColumnIndex(Phones.NUMBER);
int typeColumn = phonesCursor.getColumnIndex(Phones.TYPE);
for (int j=0; j<phonesCursorCount; j++) {
switch (phonesCursor.getInt(typeColumn)) {
case Phones.TYPE_WORK:
workPhone =
phonesCursor.getString(numberColumn);
break;
case Phones.TYPE_HOME:
homePhone =
phonesCursor.getString(numberColumn);
break;
case Phones.TYPE_MOBILE:
mobilePhone =
phonesCursor.getString(numberColumn);
break;
case Phones.TYPE_CUSTOM:
companyPhone =
phonesCursor.getString(numberColumn);
break;
case Phones.TYPE_OTHER:
otherPhone =
phonesCursor.getString(numberColumn);
break;
case Phones.TYPE_FAX_WORK:
faxWork =
phonesCursor.getString(numberColumn);
break;
}
phonesCursor.moveToNext();
}
}
closeCursor(phonesCursor);
}
On 30 déc, 21:46, "Sarath Kamisetty" <[email protected]>
wrote:
> Hi,
>
> Given a contact URI like content://contacts/people/23 I want to dump
> all phone numbers - like home, mobile, work, fax etc. all. However
> when I user managedQuery and got a cursor for this and dumped all the
> column names the only relevant columns I see are "number" and
> "primary_phone" (code shown below). It is not clear how all the phone
> numbers are stored and accessed. I tried looking at Contacts code but
> unable to make out much. Any help is greatly appreciated.
>
> Thanks,
> Sarath
>
> Cursor managedCursor = managedQuery(pickedContact,
> null, // Which columns to return
> null, // WHERE clause; which rows to return (all
> rows)
> null, // WHERE clause selection arguments (none)
> People.NAME + " ASC"); // Order-by clause
> (ascending by name)
>
> managedCursor.moveToFirst();
> int columnCount = managedCursor.getColumnCount();
> String resStr = new String();
> for (int i=0; i < columnCount; i++) {
> resStr += managedCursor.getColumnName(i) + " ";
> }
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google
Groups "Android Developers" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en
-~----------~----~----~----~------~----~------~--~---