I’m trying to write an intent-filter to select a contact from the list of contacts (for purely educational purposes… I’m learning about intents). After calling startActivity on an implicit intent, android should find my custom activity as well as the default activity as candidate Activities and let me choose which one I want to use (intent resolution).
However, with my current setup, it opens android’s default contact picker without giving me the choice. Here is my intent-filter.
<activity android:name=".ContactPicker" android:label="PICKER" >
<intent-filter>
<action android:name="android.intent.action.PICK" />
<category android:name="android.intent.category.DEFAULT" />
<data android:scheme="content" android:host="com.android.contacts" android:path="contacts" />
</intent-filter>
</activity>
and here is how I am calling the implicit intent on the main activity:
Intent intent = new Intent(Intent.ACTION_PICK, Uri.parse("content://com.android.contacts/contacts"));
startActivityForResult(intent, PICK_CONTACT);
Try: