仅在Android调用日志中读取特定日期的调用

时间:2015-09-15 03:57:46

标签: android performance

我正在编写一个需要每天运行的应用程序,并且应该读取最后几天(前一天)的通话记录。

我编写代码来获取所有调用日志的帮助 link但是如何优化它以只读取昨天来自DB的呼叫记录。

由于

1 个答案:

答案 0 :(得分:3)

我自己找到了答案

public Loader<Cursor> onCreateLoader(int loaderID, Bundle args) {
        Log.d("CallLogs", "onCreateLoader() >> loaderID : " + loaderID);

        switch (loaderID) {
            case URL_LOADER:

                String mSelectionClause = android.provider.CallLog.Calls.DATE+ " >= ?";
                    String[]mSelectionArgs = {createDate()};
                // Returns a new CursorLoader
                return new CursorLoader(
                        mContext,   // Parent activity context
                        CallLog.Calls.CONTENT_URI,        // Table to query
                        null,     // Projection to return
                        mSelectionClause,            // No selection clause
                        mSelectionArgs,            // No selection arguments
                        CallLog.Calls.DATE + " desc"             // Default sort order
                );
            default:
                return null;
        }

    }


 public  String createDate()
    {
        Calendar calendar = Calendar.getInstance();
          calendar.add(Calendar.DATE, -1);

        return String.valueOf(calendar.getTimeInMillis());
    }