【问题标题】:Getting Android CallLogs Date Issue获取 Android CallLogs 日期问题
【发布时间】:2017-12-21 08:36:54
【问题描述】:

我正在尝试列出来电的名称和日期/时间;

        String[] _Projection = new String[]{CallLog.Calls.NUMBER,
                CallLog.Calls.TYPE,
                CallLog.Calls.CACHED_NAME,
                CallLog.Calls.DATE};
        String[] _ARGS = {String.valueOf(CallLog.Calls.INCOMING_TYPE)};
        Cursor _cursor = managedQuery(CallLog.Calls.CONTENT_URI, _Projection, CallLog.Calls.TYPE + "=?", _ARGS, null);
        int _num = _cursor.getColumnIndex(CallLog.Calls.NUMBER);
        int _tip = _cursor.getColumnIndex(CallLog.Calls.TYPE);
        int _name = _cursor.getColumnIndex(CallLog.Calls.CACHED_NAME);
        int _date = _cursor.getColumnIndex(CallLog.Calls.DATE);

当我添加这两行时,应用程序停止;

        String strDate = _cursor.getString(_date);
        long lng = Long.parseLong(strDate);

或者用这条线;

        long __lngDate = _cursor.getLong(_date);

没有这些行,应用程序在没有日期/时间的情况下工作......我做错了什么?

注意:READ_CALL_LOG 也有权限

<uses-permission android:name="android.permission.READ_CALL_LOG"/>

感谢和最好的问候

【问题讨论】:

    标签: android date time calllog


    【解决方案1】:

    我自己找到了答案

    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());
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-04-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多