我正在开发 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());
}
感谢您的任何帮助,您可以提供。