 <p>I found a solution for this, instead of passing this to the setData method:</p> <pre><code>intent.setData(Uri.parse(ContactsContract.Contacts.CONTENT_LOOKUP_URI + "/" + androidContactId)); </code></pre> <p>I should be passing this:</p> <pre><code>Uri lookupUri = Uri.withAppendedPath(ContactsContract.Contacts.CONTENT_LOOKUP_URI, lookup_key); Uri res = ContactsContract.Contacts.lookupContact(activity.getContentResolver(), lookupUri); </code></pre> <p>and in the setData() method, I pass the variable res, that is a URI type.</p> <hr> <p>This <a href="http://stackoverflow.com/questions/3754217/android-manage-contacts-with-lookup-key">question</a> helped me a lot! </p>