Insérer une nouvelle intention de contact
Pour une de mes applications, j'ai besoin de l'utilisateur pour sélectionner l'un de ses contacts existants ou à en créer un nouveau.
La cueillette est facile à faire avec le code suivant:
i = new Intent(Intent.ACTION_PICK, Contacts.CONTENT_URI);
startActivityForResult(i, PICK_CONTACT_REQUEST );
Maintenant, je veux créer un nouveau contact. J'ai essayé d'utiliser ce code mais il ne déclenche pas l'activité résultat:
i = new Intent(Intent.ACTION_INSERT);
i.setType(Contacts.CONTENT_TYPE);
startActivityForResult(i, PICK_CONTACT_REQUEST);
Le code ci-dessus va commencer le contact avec l'ajout de formulaire. Puis, quand je valide, il suffit de me le demande pour ouvrir la liste des contacts et la méthode onActivityResult n'est jamais déclenché.
Pourriez-vous m'aider à le faire fonctionner ?
J'ai lu sur certains forums que ce n'était pas possible, et j'ai dû créer mon propre contact avec l'ajout de formulaire. Pourriez-vous confirmer ?
EDIT: Problème résolu. Vérifier ma réponse.
source d'informationauteur Manitoba | 2013-01-11
Vous devez vous connecter pour publier un commentaire.
Vous pouvez choisir si vous souhaitez ajouter le contact automatiquement, ou ouvrez le complément activité de contact avec pré-remplis de données:
Enfin trouvé une solution, je partage avec vous.
C'est seulement un correctif pour la version Android ci-dessus 4.0.3 et sup. Il ne fonctionne pas sur la version 4.0 à la 4.0.2.
ce code peut vous aider.
Si vous avez déjà des détails du contact, comme par exemple un numéro de téléphone ou adresse de courriel, vous pouvez les insérer dans l'intention de données étendu. Pour une valeur de clé, utilisez la constante de ses Intentions.Insérer. L'application contacts affiche les données dans ses insérer l'écran, permettant aux utilisateurs d'apporter d'autres modifications et ajouts.
Une fois que vous avez créé à l'Intention, à l'envoyer en appelant startActivity().
Remarque : l'importation "intentions" de "ContactsContract"