【发布时间】:2013-10-25 06:25:59
【问题描述】:
有谁知道如何显示单个通话的通话记录详细信息?当我进入通话记录时,显示的唯一时间是“1 小时前、3 小时前、昨天、2 天前”等。有没有办法查看通话的实际时间和日期? 此外,我注意到在查看此信息的短信时,“发送”时间不准确。有人可以在上午 12:51 给我发短信,电话会显示“下午 6:31 发送,上午 12:51 收到”。有谁知道如何解决这个问题?
Cursor callLogCursor = getContentResolver().query(
android.provider.CallLog.Calls.CONTENT_URI, null, null, null,
android.provider.CallLog.Calls.DEFAULT_SORT_ORDER);
if (callLogCursor != null) {
while (callLogCursor.moveToNext()) {
String name = callLogCursor.getString(callLogCursor
.getColumnIndex(CallLog.Calls.CACHED_NAME));
String number = callLogCursor.getString(callLogCursor
.getColumnIndex(CallLog.Calls.NUMBER));
long dateTimeMillis = callLogCursor.getLong(callLogCursor
.getColumnIndex(CallLog.Calls.DATE));
String duration = callLogCursor.getString(callLogCursor
.getColumnIndex(CallLog.Calls.DURATION));
int callType = callLogCursor.getInt(callLogCursor
.getColumnIndex(CallLog.Calls.TYPE));
Date date = new Date(dateTimeMillis);
String dateString = new SimpleDateFormat("yyyy-MM-dd HH:mm")
.format(date);
if (name == null)
name = "Unknown";
int type = 0;
switch (callType) {
case CallLog.Calls.OUTGOING_TYPE:
type = R.drawable.out;
break;
case CallLog.Calls.INCOMING_TYPE:
type = R.drawable.in;
break;
case CallLog.Calls.MISSED_TYPE:
type = R.drawable.miss;
break;
}
Thanks for your help!
【问题讨论】:
-
我没有执行您的代码,但获取通话记录时间的概念几乎相同。您从通话记录数据库中获取日期并转换为您想要的格式。关于另一个问题,我对如何存储 sim 日志时间一无所知,但即使我也观察到了同样的情况。如果您对代码有疑问,您能否提供有关该问题的更多详细信息?可能有错误日志?谢谢,西杜。