Saturday, July 21, 2012

Starting activity for a result(Pick contact name and display it in your activity)

On button click ::

Intent intent=new Intent(Intent.ACTION_PICK,Contacts.CONTENT_URI);
    startActivityForResult(intent,PICK_CONTACT_REQUEST);

and create a method which runs on returning the contact name::
 @Override
    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
        // If the request went well (OK) and the request was PICK_CONTACT_REQUEST
        if (resultCode == Activity.RESULT_OK && requestCode == PICK_CONTACT_REQUEST) {
            // Perform a query to the contact's content provider for the contact's name
            Cursor cursor = getContentResolver().query(data.getData(),
            new String[] {Contacts.DISPLAY_NAME}, null, null, null);
            if (cursor.moveToFirst()) { // True if the cursor is not empty
                int columnIndex = cursor.getColumnIndex(Contacts.DISPLAY_NAME_PRIMARY);
                String name = cursor.getString(columnIndex);
               
                // Do something with the selected contact's name...
                EditText edittext=(EditText)findViewById(R.id.editText1);
                edittext.setText(name);
            }
           
        } 

Do not forget to add the permission in the manifest::
 <uses-permission android:name="android.permission.READ_CONTACTS"/> 

No comments:

Post a Comment