中的特定日期獲取通話記錄在我的應用程序中,我通過使用此代碼獲取所有通話記錄,並將所有通話記錄返回給我的android手機。如何從android
public class CallLogHelper {
public static Cursor getAllCallLogs(ContentResolver cr) {
// reading all data in descending order according to DATE
String strOrder = android.provider.CallLog.Calls.DATE + " DESC";
Uri callUri = Uri.parse("content://call_log/calls");
Cursor curCallLogs = cr.query(callUri, null, null, null, strOrder);
return curCallLogs;
}
public static void insertPlaceholderCall(ContentResolver contentResolver,
String name, String number) {
ContentValues values = new ContentValues();
values.put(CallLog.Calls.NUMBER, number);
values.put(CallLog.Calls.DATE, System.currentTimeMillis());
values.put(CallLog.Calls.DURATION, 0);
values.put(CallLog.Calls.TYPE, CallLog.Calls.OUTGOING_TYPE);
values.put(CallLog.Calls.NEW, 1);
values.put(CallLog.Calls.CACHED_NAME, name);
values.put(CallLog.Calls.CACHED_NUMBER_TYPE, 0);
values.put(CallLog.Calls.CACHED_NUMBER_LABEL, "");
Log.d("Call Log", "Inserting call log placeholder for " + number);
contentResolver.insert(CallLog.Calls.CONTENT_URI, values);
}
}
但我的問題是,我想從特定的日期,而不是所有的通話記錄中獲取通話記錄。我不知道如何使用查詢從特定日期獲取通話記錄。 幫我謝謝
很確定這段代碼在將日期值分配給mSelectionArgs [1]時會導致OOB異常,應該是mSelectionArgs [0] = CREATEDATE(2013,1,1)的ToString()。更好的方法是初始化字符串值,而不是創建一個空字符串,然後立即丟棄它,如下所示:String [] mSelectionArgs = {String.valueOf(createDate(2013,1,1))}。 – Brandon
如果將Brandon的修補程序合併,請問upvote答案。 – Kobor42
嗨,大家好,我使用了上面的代碼,但即使我在通話記錄中有數據,我仍然得到一個空的光標?有任何想法嗎? – kAnNaN