2

連絡先の表示名に基づいて、特定の連絡先から通話のリストを取得するために、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 に基づくクエリからの情報を保持するために使用されます。問題は、このコードが特定の連絡先に対して 1 つの呼び出ししか返さないことです。理由がわかりません。手がかりはありますか?

4

1 に答える 1

1
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++;
}
于 2012-01-09T12:40:17.340 に答える