I think you can try ContactMethods.DATA,this field contains the email address. Good luck!
On Mar 18, 2:10 pm, Umair <knowledgeinter...@gmail.com> wrote: > Posted: Tue Mar 17, 2009 11:47 am Post subject: Accessing contact' > email addresses > Hi! > > I'm developing an application in which I need to display user a list > of contacts and their email addresses so that user can choose one of > them. > I've got some help from Internet and I'm able to display a list of > contacts and their number by the following code: > > ------------------------------------------------------------------------------------------------------- > JAVA CODE > ------------------------------------------------------------------------------------------------------- > > public class ShowContacts extends ExpandableListActivity implements > OnChildClickListener { > private int mGroupIdColumnIndex; > > private String mPhoneNumberProjection[] = new String[] { > People.Phones._ID, People.NUMBER // CHANGE HERE > }; > > private ExpandableListAdapter mAdapter; > > @Override > public void onCreate(Bundle savedInstanceState) { > super.onCreate(savedInstanceState); > > // Query for people > Cursor groupCursor = managedQuery(People.CONTENT_URI, > new String[] {People._ID, People.NAME}, null, null, > null); > > // Cache the ID column index > mGroupIdColumnIndex = groupCursor.getColumnIndexOrThrow > (People._ID); > > // Set up our adapter > mAdapter = new MyExpandableListAdapter(groupCursor, > this, > android.R.layout.simple_expandable_list_item_1, > android.R.layout.simple_expandable_list_item_1, > new String[] {People.NAME}, // Name for group layouts > new int[] {android.R.id.text1}, > new String[] {People.NUMBER}, // AND CHANGE HERE > new int[] {android.R.id.text1}); > setListAdapter(mAdapter); > } > > public class MyExpandableListAdapter extends > SimpleCursorTreeAdapter { > > public MyExpandableListAdapter(Cursor cursor, Context context, > int groupLayout, > int childLayout, String[] groupFrom, int[] groupTo, > String[] childrenFrom, > int[] childrenTo) { > super(context, cursor, groupLayout, groupFrom, groupTo, > childLayout, childrenFrom, > childrenTo); > } > > @Override > protected Cursor getChildrenCursor(Cursor groupCursor) { > // Given the group, we return a cursor for all the > children within that group > > // Return a cursor that points to this contact's phone > numbers > Uri.Builder builder = People.CONTENT_URI.buildUpon(); > ContentUris.appendId(builder, groupCursor.getLong > (mGroupIdColumnIndex)); > builder.appendEncodedPath > (People.Phones.CONTENT_DIRECTORY); > Uri phoneNumbersUri = builder.build(); > > return managedQuery(phoneNumbersUri, > mPhoneNumberProjection, null, null, null); > } > } > > @Override > public boolean onChildClick(android.widget.ExpandableListView > parent, > View v, int groupPosition, int childPosition, long id) > { > AlertDialog dialog = new AlertDialog.Builder > (ShowContacts.this) > .setMessage(((TextView) v).getText().toString()) > .setPositiveButton("OK", null).create(); > dialog.show(); > return true; > } > > } > > ------------------------------------------------------------------------------------------------------- > > What I need now is how to replace numbers by email addresses. What I > need to change is People.NUMBER at a couple of places but I'm not able > to find any replacement. There is a field called > People.PRIMARY_EMAIL_ID but that returns the ID of the email rather > than the actuall email. > > Kindly guide me what am I missing. > > Big thanks in advance!!! --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Android Developers" group. To post to this group, send email to android-developers@googlegroups.com To unsubscribe from this group, send email to android-developers-unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/android-developers?hl=en -~----------~----~----~----~------~----~------~--~---