View RSS Feed

Android Developer

Starting an Android Activity for a Result

Rate this Entry
by , 02-11-2012 at 09:56 AM (3597 Views)
Start the activity using startActivityForResult() when you want to get a result from the activity. Implement the onActivityResult() method to get the result from activity. In this method, subsequent activity will return result in Intent.

In below code, we want to pick the contact.

Java Code: This is the code to start an activity for a result
private void pickContact() {
    // Create an intent to "pick" a contact, as defined by the content provider URI
    Intent intent = new Intent(Intent.ACTION_PICK, Contacts.CONTENT_URI);
    startActivityForResult(intent, PICK_CONTACT_REQUEST);
}

@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);
            String name = cursor.getString(columnIndex);
            // Do something with the selected contact's name...
        }
    }
}
In the above code, all the core logic is written in onActivityResult() method. First statement checks that request is successful or not. If it is successful then result will be RESULT_OK.

Submit "Starting an Android Activity for a Result" to Facebook Submit "Starting an Android Activity for a Result" to Digg Submit "Starting an Android Activity for a Result" to del.icio.us Submit "Starting an Android Activity for a Result" to StumbleUpon Submit "Starting an Android Activity for a Result" to Google

Comments