0

I wanna launch the Contacts application from my application Activity. I am not able to understand how to do it.

    Button contact = (Button) findViewById(R.id.contact);
    contact.setOnClickListener(new View.OnClickListener() {
        public void onClick(View arg0) {
            Intent i4 = new Intent();
            i4.setAction(Intent.ACTION_VIEW);
            i4.addCategory(Intent.CATEGORY_DEFAULT);
            i4.setType("vnd.android.cursor.dir/phone");
            startActivity(i4);
        }
    });

Error:

enter image description here

Lucifer
  • 29,392
  • 25
  • 90
  • 143
Harsha M V
  • 54,075
  • 125
  • 354
  • 529

2 Answers2

9
void showContacts()
{
    Intent i = new Intent();
    i.setComponent(new ComponentName("com.android.contacts", "com.android.contacts.DialtactsContactsEntryActivity"));
    i.setAction("android.intent.action.MAIN");
    i.addCategory("android.intent.category.LAUNCHER");
    i.addCategory("android.intent.category.DEFAULT");
    startActivity(i);
}

This should work in everything from Donut through to Gingerbread: not sure about Honeycomb.

Femi
  • 64,273
  • 8
  • 118
  • 148
1

You can launch a contact Picker:

public void doLaunchContactPicker(View view) {  
    Intent contactPickerIntent = new Intent(Intent.ACTION_PICK,  
            Contacts.CONTENT_URI);  
    startActivityForResult(contactPickerIntent, CONTACT_PICKER_RESULT);  
}  

Or you can also launch the app:

http://developer.android.com/reference/android/provider/Contacts.Intents.html

Waza_Be
  • 39,407
  • 49
  • 186
  • 260