2010-07-03 7 views
12

Salut im essayant d'ajouter un numéro de téléphone à un contact existant sur Android 2.1. Im utilise actuellement:android modifier contact

ContentValues values = new ContentValues(); 
values.put(Phone.RAW_CONTACT_ID,cursor.getColumnIndex(Phone.CONTACT_ID)); 
String selection = ContactsContract.Contacts.IN_VISIBLE_GROUP + " = '1'"; 
ContentResolver cr = getContentResolver(); 
Cursor cursor = cr.query(ContactsContract.Contacts.CONTENT_URI,null, selection, null,ContactsContract.Contacts.DISPLAY_NAME+" COLLATE LOCALIZED ASC"); 
if (cursor.getCount() > 0) { 
    cursor.moveToPosition(oldcontactid); 
    contactid = cursor.getString(cursor.getColumnIndex(ContactsContract.Contacts._ID)); 
    values.put(Phone.RAW_CONTACT_ID,cursor.getColumnIndex(Phone.CONTACT_ID)); 
    if (Integer.parseInt(cursor.getString(cursor.getColumnIndex(ContactsContract.Contacts.HAS_PHONE_NUMBER))) > 0) { 
     Cursor pCur = cr.query(ContactsContract.CommonDataKinds.Phone.CONTENT_URI,null,ContactsContract.CommonDataKinds.Phone.CONTACT_ID +" = ?",new String[]{contactid}, null); 
     while (pCur.moveToNext()) { 
      values.put(Phone.NUMBER,pCur.getString(pCur.getColumnIndex(ContactsContract.CommonDataKinds.Phone.NUMBER))); 
      values.put(Phone.TYPE, Phone.TYPE_MOBILE); 
     } 
     pCur.close(); 
    } 
} 
Uri uri = getContentResolver().insert(Phone.CONTENT_URI, values); 

mais je reçois une erreur:

java.lang.UnsupportedOperationException: Unknown uri: content://com.android.contacts/data/phones 

comment pourrais-je être en mesure de résoudre ce problème?

Merci pour toute aide, ng93

+0

Est-ce que le code donne la même erreur sur un vrai périphérique que l'émulateur – sehugg

+0

'Phone' est obsolète pour Android 2.1 .... utilise' ContactsContract' –

Répondre

1

Avez-vous défini les autorisations correctes dans le AndroidManifest.xml? Autant que je sache, l'accès aux informations personnelles (contacts) est limité par défaut.

voir here pour plus sur le système d'autorisation dans Android

+0

ive ensemble: \t \t ng93

+0

désolé que je ne pouvais pas aider ... j'espère vous avez résolu votre problème maintenant s'il vous plaît laissez-nous savoir où le problème était? – Mark

1

Vous pouvez également vérifier vos applications installées vs mémoire de programme. Mon Erick Droid a bien fonctionné sur les contacts et à partir de n'importe quelle application sensible aux contacts, aussi.

Jusqu'à Je suis passé un certain point de charge de mémoire. Le soutien de VZW 1er niveau ne m'a pas fait du bien, j'ai dû insister sur le support de 2ème niveau. J'ai finalement eu une réponse de quelqu'un qui connaissait ses épinards. Il a dit que j'avais trop d'applications sur le téléphone, et que c'était un problème connu.
coupe ont toujours pas mon jeu de travail vers le bas assez pour obtenir modifier contact de travail :-(

/s/BezantSoft

+0

Mon problème était avec les contacts du téléphone et les contacts dans mon compte google. Je ne suis pas sûr avec le HTC Eris (Android) 2.1 sur la pleine pertinence des conseils que VZW m'a donné. J'ai suivi le protocole "remove the apps", et cela ne m'a pas permis d'améliorer les capacités de "contact edit". Bien sûr, étant un utilisateur et développeur FOSS, j'ai installé et désinstallé un tas d'applications. Cela pourrait avoir quelque chose à voir avec les choses. – BezantSoft

+0

La nuit dernière j'ai fait une réinitialisation matérielle sur le téléphone. Ce n'était pas difficile. J'ai des contacts éditer maintenant, et gardera les choses à jour ici si les problèmes se reproduisent. Cependant, les instructions sur le PDF en ligne (probablement v1.5/1.6) ne correspondent pas au téléphone v2.1: – BezantSoft

+0

Manuel: Pour réinitialiser le téléphone 1. Appuyez ACCUEIL> MENU, puis appuyez sur Paramètres> Sécurité> Réinitialisation des données d'usine. ----- Avec 2.1, j'ai trouvé: ACCUEIL> MENU puis PARAMÈTRES> CONFIDENTIALITÉ> Réinitialisation des données d'usine Ensuite, vous obtenez la boîte de dialogue d'avertissement de réinitialisation d'usine. – BezantSoft

3

Insérer dans Data.CONTENT_URI au lieu de Phone.CONTENT_URI insérer également la colonne Data.MIMETYPE avec Phone.CONTENT_ITEM_TYPE.

Questions connexes