2011-04-01 3 views
3

J'interroge le fournisseur de contenu CallLog.Calls pour les détails d'appel. Tout fonctionne bien sauf lorsque j'essaie de faire une recherche par date. Je sais que la date est stockée en tant que format long (milliseconde). J'ai donc essayé de convertir la date en premier, puis de la rechercher, mais je dois faire quelque chose de mal ici . Voici la requête que je cours, s'il vous plaît noter que cela fonctionne bien lorsque je supprime la partie "WHERE DATE =" ou le remplacer par quelque chose comme "WHERE TYPE =" etc Alors, comment puis-je exécuter une requête pour obtenir les détails d'un appel date ou plage de dates? Toute aide à ce sujet? Merci.CallLog.Calls Interrogation par date

Cursor c = getContentResolver().query(CallLog.Calls.CONTENT_URI, null, 
       CallLog.Calls.DATE + "<=?", 
       new String[] { String.valueOf(dateSTR)}, ORDER_BY); 
     startManagingCursor(c); 

Répondre

9

Voilà comment je le fais:

Cursor c = contentResolver.query(CallLog.Calls.CONTENT_URI, 
       new String[] { CallLog.Calls.DATE, CallLog.Calls.DURATION, 
         CallLog.Calls.NUMBER, CallLog.Calls._ID }, 
       CallLog.Calls.DATE + ">?", 
       new String[] { String.valueOf(resetDate.getTime())}, 
       CallLog.Calls.NUMBER + " asc"); 

resetDate est une variable de date, fixé au début de la période que je veux couvrir.

+0

J'ai essayé ceci et il semble fonctionner. Mais j'ai un problème bizarre, si j'essaie de filtrer par date comme CallLog.Calls.DATE + "> ?, il semble fonctionner mais si je l'essaie comme CallLog.Calls.DATE +" = ?, il revient toujours aucune valeur et ne montre aucune erreur non plus. Quel peut être le problème, est-ce que je fais la mauvaise requête? – redGREENblue

+0

Lorsque vous interrogez CallLog.Calls.DATE + "=?" vous obtiendrez presque toujours un jeu de résultats vide, puisque vous vérifiez un appel fait exactement à cette milliseconde. Essayez quelque chose comme CallLog.Calls.DATE + ">? Et" + CallLog.Calls.DATE + " alibi

+0

Oh. Tout s'explique maintenant. Comment cela ne m'est-il jamais venu à l'esprit? Merci pour l'aide. – redGREENblue

Questions connexes