Obtenez de l'anniversaire de chaque contact dans l'application Android
Dans mon application android, j'ai lu tous les contacts avec le code suivant:
ContentResolver cr = getContentResolver();
Cursor cur = cr.query(ContactsContract.Contacts.CONTENT_URI, null, null, null, null);
if (cur.getCount() > 0) {
while (cur.moveToNext()) {
String id = cur.getString(cur.getColumnIndex(ContactsContract.Contacts._ID));
String name = cur.getString(cur.getColumnIndex(ContactsContract.Contacts.DISPLAY_NAME));
ContentResolver bd = getContentResolver();
String where = Data.RAW_CONTACT_ID+" = "+id+" and "+Data.MIMETYPE+" = "+CommonDataKinds.Event.CONTENT_ITEM_TYPE;
Cursor bdc = bd.query(ContactsContract.Data.CONTENT_URI, null, where, null, null);
if (bdc.getCount() > 0) {
while (bdc.moveToNext()) {
String birthday = bdc.getString(0);
Toast.makeText(getApplicationContext(), id+name+birthday, Toast.LENGTH_SHORT);
}
}
}
}
cur.close();
C'est la façon dont j'ai essayé de lire l'anniversaire de l'événement pour chaque contact. Mais évidemment, il ne fonctionne pas encore. Alors, comment puis-je lire le contact date de naissance de l'correctement?
OriginalL'auteur caw | 2011-12-20
Vous devez vous connecter pour publier un commentaire.
Mot de prudence: certains constructeurs fournissent leur propre fournisseur de contact (pas sur l'Android standard) et peut de ne pas suivre la norme Android pratiques. Par exemple, com.android.les prestataires.les contacts.HtcContactsProvider2 répond à des questions sur mon HTC Desire HD
En voici une:
Si cela ne fonctionne pas, vous pouvez avoir un OEM modifié contacts fournisseur.
OriginalL'auteur dstricks
On peut lire tous les utilisateurs d'anniversaire avec le code suivant:
Mais est-il mieux ou le plus court moyen de le faire?
OriginalL'auteur caw
Je n'ai pas tester le code, puisque je n'ai pas à installer le sdk dans mon ordinateur. Mais je crois que cela devrait fonctionner.
Espérons qu'il saura vous aider dans une certaine aspacts.
Avez-vous essayé de faire de mon snippet? J'ai pensé qu'il devrait fonctionner.
Oui, je l'ai essayé. Et malheureusement, il ne fonctionne pas (encore). Elle passe par la boucle externe de contacts, mais seulement une fois dans la boucle interne des anniversaires (String anniversaire = bdc.getString(0)). Et le contact pour lequel il entre dans la boucle interne n'a pas d'anniversaire ensemble.
OriginalL'auteur Frank Cheng