I also meet the similar problem with
Contacts.ContactMethods.CONTENT_EMAIL_URI, but it works fine with
Contacts.ContactMethods.CONTENT_URI. My code is:
Uri uri = Contacts.ContactMethods.CONTENT_URI;
String selection = Contacts.ContactMethods.KIND + "=" +
Contacts.ContactMethods.EMAIL_KIND
Cursor c = this.getContentResolver().query(uri, EMAIL_PROJECTION, selection,
null, null);
2008/4/6, Maxim Yudin <[EMAIL PROTECTED]>:
>
>
>
> I write new article abotu using Content Provider. I get info about
> person's name and person's phones in contact list. But I can not get e-
> mail of person. Help. I have found URI -
> Contacts.ContactMethods.CONTENT_EMAIL_URI, but it not help
>
> My code:
>
> Java:
>
> package maximyudin.contentproviderexample;
>
> import android.app.Activity;
> import android.content.Context;
> import android.content.ContentUris;
> import android.database.Cursor;
> import android.net.Uri;
> import android.os.Bundle;
> import android.provider.Contacts;
> import android.provider.Contacts.People;
> import android.provider.Contacts.PeopleColumns;
> import android.widget.ExpandableListAdapter;
> import android.widget.ExpandableListView;
> import android.widget.SimpleCursorTreeAdapter;
> import android.widget.TabHost;
> import android.widget.TabHost.TabSpec;
>
> public class ContentProviderExample extends Activity {
> private int mGroupIdColumnIndex;
>
> private String mPhoneNumberProjection[] = new String[] {
> People.Phones._ID, People.Phones.NUMBER
> };
>
> private ExpandableListAdapter mAdapter;
>
> @Override
> public void onCreate(Bundle icicle) {
> super.onCreate(icicle);
> setContentView(R.layout.main);
>
> TabHost tabs = (TabHost)this.findViewById(R.id.tabs);
> tabs.setup();
>
> TabSpec one = tabs.newTabSpec("one");
> one.setContent(R.id.content1);
> one.setIndicator("Contacts",
> this.getResources().getDrawable(R.drawable.person));
> tabs.addTab(one);
>
> TabHost.TabSpec two = tabs.newTabSpec("two");
> two.setContent(R.id.content2);
> two.setIndicator("Empty");
> tabs.addTab(two);
> tabs.setCurrentTab(0);
>
> final ExpandableListView contactlist =
>
> (ExpandableListView)this.findViewById(R.id.contactlist);
>
> // 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.getColumnIndex(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}, // Number for child
> layouts
> new int[] {android.R.id.text1});
>
> contactlist.setAdapter(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();
>
> // The returned Cursor MUST be managed by us, so we
> use Activity's helper
> // functionality to manage it for us.
> return managedQuery(phoneNumbersUri,
> mPhoneNumberProjection, null, null, null);
> }
> }
> }
>
>
> >
>
--~--~---------~--~----~------------~-------~--~----~
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]
Announcing the new M5 SDK!
http://android-developers.blogspot.com/2008/02/android-sdk-m5-rc14-now-available.html
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en
-~----------~----~----~----~------~----~------~--~---