从android获取不同的通话记录号码

时间:2013-05-27 21:20:08

标签: android android-contentresolver

我正在研究android项目,我正在尝试从Android调用日志中获取数字并将其显示在列表视图中。

除了一件事情,这个工作正常,如果一个号码多次调用然后在我的ListView中多次显示,我只想显示不同的数字,但我不知道这是怎么做的。

以下是我用来获取数字的代码

String[] callLogFields = {android.provider.CallLog.Calls._ID,
                android.provider.CallLog.Calls.NUMBER,
                android.provider.CallLog.Calls.DATE,
                android.provider.CallLog.Calls.CACHED_NAME};

        String viaOrder = android.provider.CallLog.Calls.DATE + " DESC";
        String where = android.provider.CallLog.Calls.NUMBER + " > 0";

        Cursor callLogCursor = getContentResolver().query(android.provider.CallLog.Calls.CONTENT_URI, 
                callLogFields, where, null, viaOrder);

        ArrayList<Spanned> arrayList = new ArrayList<Spanned>();

        if (callLogCursor.moveToFirst())
        {
            do
            {
                String telephoneNumber = callLogCursor.getString(callLogCursor.getColumnIndex(android.provider.CallLog.Calls.NUMBER));
                String date = callLogCursor.getString(callLogCursor.getColumnIndex(android.provider.CallLog.Calls.DATE));
                Spanned content = Html.fromHtml(telephoneNumber + "<br /><small><font color='#9f9f9f'>" + date + "</font></small>");
                arrayList.add(content);
            }while (callLogCursor.moveToNext());
        }

感谢您提供的任何帮助。

0 个答案:

没有答案