2016-09-19 12 views
0

CallLogデータベースを照会して、指定された日付に基づいていくつかの呼び出しを返したいとします。たとえば、指定した日付、つまり9月1日までのデータを取得したいと考えています。AndroidのクエリCallLog日付が与えられました

私は呼び出すことでデータベースを照会:

 Date d = new Date(); 


    String strOrder = android.provider.CallLog.Calls.DATE + " > " + d.toString(); 
    /* Query the CallLog Content Provider */ 
/*Cursor managedCursor = managedQuery(CallLog.Calls.CONTENT_URI, null, 
      null, null, strOrder);*/ 
    if (ActivityCompat.checkSelfPermission(this, Manifest.permission.READ_CALL_LOG) != PackageManager.PERMISSION_GRANTED) { 
     // TODO: Consider calling 
     Log.d(TAG, "Did not have permissions."); 
     return; 
    } 
    Cursor managedCursor = this.getContentResolver().query(CallLog.Calls.CONTENT_URI, null, 
      null, null, strOrder); 

これは私にエラーを与え、活動をlaunchsしません。

答えて

0

あなたは、私が唯一のあなたに私のコードで作業を行う例を与えることができますされるエラーを指定しませんでしたので:

String query = "(" + CallLog.Calls.DATE + " >= " + from + 
      " AND " + CallLog.Calls.DATE + " <= " + to + ")"; 

Cursor callsCursor = context.getContentResolver().query(
           CallLog.Calls.CONTENT_URI, 
           null, 
           query, 
           null, 
           null, 
           CallLog.Calls.DATE + " DESC"); 


if (callsCursor != null) { 
    while (callsCursor.moveToNext()) { 
     String number = callsCursor.getString(callsCursor.getColumnIndex(CallLog.Calls.NUMBER)); 
     int type = callsCursor.getInt(callsCursor.getColumnIndex(CallLog.Calls.TYPE)); 
     long date = callsCursor.getLong(callsCursor.getColumnIndex(CallLog.Calls.DATE)); 
     int duration = callsCursor.getInt(callsCursor.getColumnIndex(CallLog.Calls.DURATION)); 

     // the rest of your code goes here 
    } 
} 

は、それが

を役に立てば幸い
関連する問題