個々の通話の通話ログの詳細を表示する方法を知っている人はいますか? 通話履歴に入ると、「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!