android - 按当前日期查询 CallLog.Calls

标签 android

我正在查询 CallLog.Calls 内容提供程序以获取通话详细信息。我做这样的事情

Cursor managedCursor = cr.query(CallLog.Calls.CONTENT_URI, null,
                null, null, null);

通过这种方式我得到了所有的通话记录。但现在我想按当前日期查询,以便我只获得当前日期的通话记录。应该如何处理这个问题?

最佳答案

试试这个:

//With this method you will get the timestamp of today at midnight
public long getTodayTimestamp(){
    Calendar c1 = Calendar.getInstance();
    c1.setTime(new Date()); 

    Calendar c2 = Calendar.getInstance();
    c2.set(Calendar.YEAR, c1.get(Calendar.YEAR));
    c2.set(Calendar.MONTH, c1.get(Calendar.MONTH));
    c2.set(Calendar.DAY_OF_MONTH, c1.get(Calendar.DAY_OF_MONTH));
    c2.set(Calendar.HOUR_OF_DAY, 0);
    c2.set(Calendar.MINUTE, 0);
    c2.set(Calendar.SECOND, 0);

    return c2.getTimeInMillis();
}

String timestap = String.valueOf(getTodayTimestamp());

Cursor managedCursor = cr.query(CallLog.Calls.CONTENT_URI, CallLog.Calls.DATE + ">= ?", new String[]{timestamp}, null);

关于android - 按当前日期查询 CallLog.Calls,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7994131/

相关文章:

android - 使用 Volley Library 在服务器上上传文件或图像

android - 按钮、标题和副标题中的两个文本

android - Android 设备的唯一 ID

android - if 和 else 命令在 android 首选项中

以编程方式锁定/解锁 Android 屏幕

javascript - react 导航 V4 : Swipe on drawer does not work in Android

android - 变量搜索提示

android - 来自智能手机摄像头的基于网络的实时视频流

Android:编辑货币的文本验证

android - WebView 线程永不停止(WebViewCoreThread、CookieSyncManager、http[0-3])