2017-06-29 1 views
0

J'essaie de modifier mes contacts existants sur mon appareil.Contatc personnalisé MimeType n'est pas affiché sur les versions Android inférieures à 7

J'ai mis en œuvre toutes les choses liées (AuthenticationService, AbstractThreadedSyncAdapter, SyncService, AbstractAccountAuthenticator etc ..) suivant this guides/exemples et this.

Tout fonctionne correctement sur mon Samsung Galaxy S7 équipé d'Android 7: maintenant mes contacts ont une nouvelle fonction personnalisée, si je la sélectionne, une activité de mon application est lancée. Ceci est accompli en créant un fichier contacts.xml et en utilisant un MIMETYPE personnalisé (comme expliqué dans les liens ci-dessus).

Malheureusement cette approche ne semble pas fonctionner sur les appareils fonctionnant sous Android avec la version < 7. Ma fonction personnalisée n'est pas affichée bien que tout semble fonctionner correctement et qu'aucune erreur ne soit détectée.

Si quelqu'un savait quelque chose à ce sujet, ce serait une aide précieuse.

Merci d'avance.

+0

essayer d'être plus précis, le pré-7 android êtes-vous capable d'ajouter votre 'mimetype' à un' RawContact'? Si oui, voyez-vous la ligne personnalisée dans l'application 'Contacts'? Si oui, que se passe-t-il lorsque vous cliquez dessus? – marmor

+0

Oui, je vois une ligne personnalisée dans chaque contact de mon application Contacts. Lorsque je sélectionne ma ligne personnalisée, une activité de mon application est lancée. Dans Android 5, je ne peux pas voir ma ligne personnalisée. –

+0

dans Android 5, si vous interrogez les données de ce contact brut à partir de la table ContactsContract.Data, voyez-vous une ligne avec votre type MIME? – marmor

Répondre

0
  1. Je suppose que le ";" dans votre contacts.xml est une faute de frappe ou votre projet ne compilerait
  2. Essayez de supprimer la ligne de votre android:detailSocialSummary contacts.xml comme la plupart des exemples que je connais n'ont que
  3. Au lieu de ContactsAccountType essayer ContactsSource, voir this comme référence.
  4. Le mimetype habituellement ne pointe pas vers une activité au sein de votre application, il devrait être: vnd.android.cursor.item/vnd.<your package>.<some action> mais je ne pense pas que ce soit le problème que vous rencontrez
+0

Malheureusement, j'ai déjà essayé toutes les étapes ci-dessus ... mais merci pour ce lien! Je pense que ce sera très utile :) –