2016-06-16 12 views
1

私は連絡先を開きたいAndroid Dialer Appを持っています。スタックオーバーフロー自体からコードを取り出しました。しかし、startActivityForResult関数には、PICK_CONTACTという引数があります。エラーを表示しています。 ActivityResult機能上の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); 

    } 

そして、このエラーを修正する方法を助けてください、この

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

のようなものです。

答えて

1

リクエストコードです。 startActivityForResultを呼び出すときは、あなたの要求を識別する引数を渡す必要があります。この同じ整数値は、後で返されるリクエストを確認するためにonActivityResultで使用されます。

これと他のリクエストコードをアクティビティの先頭に宣言する必要があります。

static final int PICK_CONTACT = 1; // requestCode for Contact Picker intent 

詳細はここで見つけることができます:https://developer.android.com/training/basics/intents/result.html

関連する問題