Android 特定号码的通话记录

Android 特定号码的通话记录,android,android-intent,android-contentresolver,calllog,Android,Android Intent,Android Contentresolver,Calllog,我想显示特定来电者的通话记录,该号码是从另一个活动获得的,但我尝试不工作的查询,请给出解决方案。注释中的代码就是我尝试的代码。 谢谢 在清单中添加以下权限 <uses-permission android:name="android.permission.READ_CALL_LOG" /> <uses-permission android:name="android.permission.WRITE_CALL_LOG" /> 我修改了这行游标managedCursor

我想显示特定来电者的通话记录,该号码是从另一个活动获得的,但我尝试不工作的查询,请给出解决方案。注释中的代码就是我尝试的代码。 谢谢


在清单中添加以下权限

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

我修改了这行游标managedCursor=getContentResolver().query(CallLog.Calls.CONTENT_URI,null,CallLog.Calls.NUMBER+“=?”,新字符串[]{phone},strOrder);但是得到的错误是:01-16 03:35:56.782:E/AndroidRuntime(824):java.lang.RuntimeException:无法启动活动组件信息{com.example.econtact/com.example.econtact.CallLogs}:java.lang.IllegalArgumentException:索引1处的绑定值为null 01-16 03:35:56.782:E/AndroidRuntime(824):在android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2180)中,“绑定值”显然是指插入到查询()中的用于选择的selectionArgs。如果这样一个selArgs值为null,可能您的“strOrder”为null或“phone”为null我不知道您在做什么,但我正在获取记录我在游标中什么都没有
<uses-permission android:name="android.permission.READ_CALL_LOG" /> 
<uses-permission android:name="android.permission.WRITE_CALL_LOG" />
public void getLogsByNumber(String[] strNumber ) {   
    Cursor cursor = getContentResolver().query(CallLog.Calls.CONTENT_URI, null, CallLog.Calls.NUMBER + " = ? ", strNumber , "");

    if (cursor.moveToFirst ()) {

        while (cursor.moveToNext ()) {
            String id = cursor.getString (cursor.getColumnIndex (CallLog.Calls._ID));
            String number = cursor.getString (cursor.getColumnIndex (CallLog.Calls.NUMBER));
            String name = cursor.getString (cursor.getColumnIndex (CallLog.Calls.CACHED_NAME));

        }

      }

}