startActivityForResult 函数中的 PICK_CONTACT 参数是什么?

What is PICK_CONTACT argument in startActivityForResult function?

我有一个 Android 拨号器应用程序,我想在其中打开联系人。我从 Stack Overflow 本身获取了代码。但是startActivityForResult函数中有一个参数,PICK_CONTACT。它显示错误。

    else if(id == R.id.action_contacts){
        Intent i = new Intent(Intent.ACTION_PICK,ContactsContract.Contacts.CONTENT_URI);
        startActivityForResult(i, PICK_CONTACT);

    }

而on ActivityResult函数是这样的

    public void onActivityResult(int reqCode, int resultCode, Intent data) {
    super.onActivityResult(reqCode, resultCode, data);

    switch (reqCode) {
        case (PICK_CONTACT) :
            if (resultCode == Activity.RESULT_OK) {
                Uri contactData = data.getData();
                Cursor c =  managedQuery(contactData, null, null, null, null);
                if (c.moveToFirst()) {
                    String name = c.getString(c.getColumnIndex(ContactsContract.Contacts.DISPLAY_NAME));
                    // TODO Fetch other Contact details as you want to use

                }
            }
            break;
    }
}

请帮忙纠正这个错误。

这是一个请求代码。调用 startActivityForResult 时,您需要传入一个参数来标识您的请求。稍后在 onActivityResult 中使用相同的整数值来检查您从哪个请求返回。

您应该在 activity.

的顶部声明此代码以及任何其他类似的请求代码
static final int PICK_CONTACT = 1; // requestCode for Contact Picker intent

可以在此处找到更多详细信息:https://developer.android.com/training/basics/intents/result.html