startActivityForResult e Intents Extras, parece que los extras no se retrasan

Tengo este codigo:

Intent intent = new Intent();
        intent.setAction(Intent.ACTION_PICK);
        intent.setData(ContactsContract.Contacts.CONTENT_URI);
        intent.putExtra(EXTRA_ONLINE_ID, (String) v.getTag());
        startActivityForResult(intent, PICK_CONTACT);

Luego, en respuesta:

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


        switch (reqCode) {
            case (PICK_CONTACT):
                if (resultCode == Activity.RESULT_OK) {
                    try {
                        Uri contactData = data.getData();
                        String onlineid = data.getStringExtra(EXTRA_ONLINE_ID);
                    } catch (Exception e) {
                        e.printStackTrace();
                    }
                }
                break;
        }
        super.onActivityResult(reqCode, resultCode, data);
    }

elonlineid La variable es nula. ¿Cómo puedo pasar un valor y luego recibirlo?

EDITAR

Incluso lo intenté

Bundle extras = data.getExtras(); // returns null

Respuestas a la pregunta(4)

Su respuesta a la pregunta