Мне нужна помощь для того, как я могу кодировать для запроса курсора для конкретной даты совпадения с датой записи мудрых вызовов ........................... .........
Ниже мой код;
dateTimeToMillis функция;
public static String dateTimeToMillis(String dateTime) {
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
Date mDate = null;
try {
mDate = sdf.parse(dateTime);
} catch (ParseException e) {
e.printStackTrace();
}
long timeInMilliseconds = mDate.getTime();
return String.valueOf(timeInMilliseconds);
}
Ниже код дляполучить записи вызовов
StringBuilder stringBuffer = new StringBuilder();
Cursor managedCursor = null;
managedCursor = context.getContentResolver().query(
CallLog.Calls.CONTENT_URI,
null,
CallLog.Calls.DATE + " = ? " , new String[]{dateTimeToMillis(startDateTime)},
CallLog.Calls.DATE + " DESC");
int number = managedCursor.getColumnIndex(CallLog.Calls.NUMBER);
int type = managedCursor.getColumnIndex(CallLog.Calls.TYPE);
int date = managedCursor.getColumnIndex(CallLog.Calls.DATE);
int duration = managedCursor.getColumnIndex(CallLog.Calls.DURATION);
ArrayList<String> callCount = new ArrayList<>();
while (managedCursor.moveToNext()) {
String phoneNumber = managedCursor.getString(number);
String callType = managedCursor.getString(type);
String callDate = managedCursor.getString(date);
SimpleDateFormat formatter = new SimpleDateFormat("dd-MMM-yyyy HH:mm");
String dateString = formatter.format(new Date(Long.parseLong(callDate)));
String callDuration = managedCursor.getString(duration);
String dir = null;
int dirCode = Integer.parseInt(callType);
if (dirCode == CallLog.Calls.OUTGOING_TYPE) {
callCount.add(phoneNumber);
}
stringBuffer.append("\nPhone Number:--- " + phoneNumber + "\nCall Type:--- "
+ dir + "\nCall Date:---"
+ dateString + "\nCall Duration:---" + callDuration);
stringBuffer.append("\n--------------------------");
Log.e("stringBuffer.toString()",""+stringBuffer.toString());
}
Запрос курсора не работает ....