Я пытаюсь написать фильтр намерений, чтобы выбрать контакт из списка контактов (для чисто образовательных целей ... я изучаю намерения). После вызова startActivity с неявным намерением, android должен найти мое пользовательское действие, а также задание по умолчанию в качестве возможных действий и разрешить мне выбрать, какое из них я хочу использовать (разрешение намерений).
Однако, с моими текущими настройками, он открывает палитру контактов Android по умолчанию, не давая мне выбора. Вот мой фильтр намерений.
<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>
и вот как я называю неявное намерение в основной деятельности:
Intent intent = new Intent(Intent.ACTION_PICK, Uri.parse("content://com.android.contacts/contacts"));
startActivityForResult(intent, PICK_CONTACT);