J'essaie d'écrire un filtre d'intention pour sélectionner un contact dans la liste des contacts (à des fins purement éducatives ... J'apprends les intentions). Après avoir appelé startActivity sur une intention implicite, android devrait trouver mon activité personnalisée ainsi que l'activité par défaut en tant qu'Activités candidates et laissez-moi choisir celle que je veux utiliser (résolution d'intention).Android Problème de filtre d'intention
Cependant, avec ma configuration actuelle, il ouvre le sélecteur de contacts par défaut d'android sans me donner le choix. Voici mon intention-filtre.
<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>
et voici comment j'appelle l'intention implicite sur l'activité principale:
Intent intent = new Intent(Intent.ACTION_PICK, Uri.parse("content://com.android.contacts/contacts"));
startActivityForResult(intent, PICK_CONTACT);
Vous devez utiliser ACTION_CHOOSER documenté ici http: // développeur. android.com/reference/android/content/Intent.html#ACTION_CHOOSER - désolé je ne sais pas comment l'utiliser moi-même mais essayez google pour des exemples. – Squonk
@MisterSquonk: Cela serait nécessaire si l'utilisateur avait choisi un gestionnaire par défaut pour ce 'Intent'. Il est concevable que l'application de contacts intégrée soit prédéterminée, mais je serais surpris, car ils ne le font pas pour d'autres «Intents» que j'ai essayé de contourner (par exemple, des écrans d'accueil alternatifs). – CommonsWare