0

您好,我正在从内容提供商那里获取通话记录详细信息,它工作正常,但输出显示重复的通话详细信息以及如何避免通话记录中的重复。

电流输出如

身份证姓名号码时间

1 美国广播公司 1233 下午 2.30

2 bdc 2897 1.pm

3 abc 1233 上午 11.30

4 abc 1233 上午 11 点

但我不想要我需要的这个输出

身份证姓名号码时间

1 abc (3) 1233 下午 2.30

2 bdc 2897 下午 1 点

如何实现这一点请参阅我的代码并帮助我

公共无效readCallLogs(){

    Cursor callLog = getActivity().getContentResolver().query(
            CallLog.Calls.CONTENT_URI, null, null, null,
            android.provider.CallLog.Calls.DATE + " DESC");

    int cid = callLog.getColumnIndex(CallLog.Calls._ID);

    int cName = callLog.getColumnIndex(CallLog.Calls.CACHED_NAME);

    int cNumber = callLog.getColumnIndex(CallLog.Calls.NUMBER);

    int cType = callLog.getColumnIndex(CallLog.Calls.TYPE);

    int cDate = callLog.getColumnIndex(CallLog.Calls.DATE);

    int cDuration = callLog.getColumnIndex(CallLog.Calls.DURATION);

    // looping call log cursor object
    while (callLog.moveToNext()) {

        String mId = callLog.getString(cid);

        String mName = callLog.getString(cName);
        String mNumber = callLog.getString(cNumber);

        long mCallDate = callLog.getLong(cDate);

}

4

1 回答 1

-1

我认为这是显示的问题......因此,一旦您收到数据,您需要应用过滤器,或者您需要编写自己的代码来对数据进行分组。

注意:在选择数据结构(数组、映射)时需要小心。这可能会影响性能。

于 2013-07-30T08:47:28.163 回答