0

我想从我的应用程序活动中启动联系人应用程序。我不明白该怎么做。

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

错误:

在此处输入图像描述

4

2 回答 2

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

这应该适用于从甜甜圈到姜饼的所有东西:不确定 Honeycomb。

于 2011-04-26T08:15:53.483 回答
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

于 2011-04-26T07:13:11.237 回答