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);
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
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 + "" pour vérifier une gamme – alibi
Oh. Tout s'explique maintenant. Comment cela ne m'est-il jamais venu à l'esprit? Merci pour l'aide. – redGREENblue