title: Add contact intent doesn't return data onActivityResult under ICS
body: <p>I want my application to prompt the user to create a new contact, through the standard Contacts interface on Android. Then I want to be able to read the information back from the newly created contact. </p>
  
  <p>My code is based on the "Adding A New Contact" from <a href="http://wiresareobsolete.com/wordpress/2011/10/simplifying-interaction-with-contacts/">this</a> site.</p>
  
  <pre><code>Intent intent = new Intent(Intent.ACTION_INSERT);
  intent.setType(Contacts.CONTENT_TYPE);
  intent.putExtra(ContactsContract.Intents.Insert.PHONE, number);
  startActivityForResult(intent, PICK_CONTACT);
  </code></pre>
  
  <p>and then</p>
  
  <pre><code>@Override
  protected void onActivityResult(int requestCode, int resultCode, Intent data) {
      Intent intent = new Intent(this, Foo.class);
      Uri uri = data.getData(); //I get nullpointer here on ICS
      intent.putExtra("contact", ContactAccessor.getInstance().loadContact(this, uri));
      startActivity(intent);
      finish();
  }
  </code></pre>
  
  <p>This code runs fine on Android 2.2 and 2.3. It starts the contacts application and lets the user input stuff like name and email address and when they're done and hit "ok" or "save" or "whatever" it returns to my app and I can read the stuff they entered. On Android 4.0 (ICS) however it does not return back to my app, when the user is done creating the contact. And when I exit the contact view (through the back button) it does not include any intent with the contact information.</p>
  
  <p>What intent should I use to get the same behavior on ICS?</p>