Android启动联系人应用程序

时间:2011-04-26 07:08:39

标签: android android-intent contactscontract

我想从我的应用程序Activity中启动Contacts应用程序。我无法理解如何做到这一点。

    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);
        }
    });

错误:

  

enter image description here

2 个答案:

答案 0 :(得分:10)

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);
}

这应该适用于从甜甜圈到姜饼的各种事物:不确定Honeycomb。

答案 1 :(得分:1)

您可以启动联系人选择器:

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

或者您也可以启动该应用:

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