Finally i got a correct solution.
private void getCallDetails(Context context) {
StringBuffer stringBuffer = new StringBuffer();
Cursor cursor = context.getContentResolver().query(CallLog.Calls.CONTENT_URI,
null, null, null, CallLog.Calls.NUMBER + "," + CallLog.Calls.DATE + " DESC");
int number = cursor.getColumnIndex(CallLog.Calls.NUMBER);
int date = cursor.getColumnIndex(CallLog.Calls.DATE);
int iname = cursor.getColumnIndex(CallLog.Calls.CACHED_NAME);
String curNo = "";
while (cursor.moveToNext()) {
String No = cursor.getString(number);
if( !No.equalsIgnoreCase(curNo) ){
CLogItem clitem = new CLogItem();
clitem.No = cursor.getString(number);
clitem.Name = cursor.getString(iname);
clitem.lDate = Long.valueOf(cursor.getString(date));
clogitems.add(clitem);
curNo = No;
}
}
cursor.close();
Collections.sort(clogitems);
}