我查询CallLog.Calls提供程序,以便根据联系人的显示名称检索来自某个联系人的呼叫列表。特别是,我使用以下查询:

String selection = CallLog.Calls.CACHED_NAME + "= ?";
String dispName = dataCollector.getDisplayName();
Cursor callCursor =
    cr.query(callLogUri, callLogProjection, selection,
              new String[] {dispName},CallLog.Calls.DATE + " DESC");


dataCollector对象用于保存基于给定联系人ID的查询信息。
问题在于此代码仅返回给定联系人的一个呼叫。我不明白为什么。有什么线索吗?

最佳答案

int i=0;
while(cursor.moveToNext())
{
Sring id = cursor.getString(cursor.getColumnIndex(CallLog.Calls._ID));
numbersTemp[i]=cursor.getString(cursor.getColumnIndex(CallLog.Calls.NUMBER));
valuesTemp[i]=cursor.getString(cursor.getColumnIndex(CallLog.Calls.CACHED_NAME));
i++;
}

09-10 07:15