gpt4 book ai didi

android - 如何获取短信的接收时间

转载 作者:行者123 更新时间:2023-11-30 01:53:19 24 4
gpt4 key购买 nike

我正在通过以下代码读取来自特定号码的未读短信。

public void getUnreadMessage() {
Cursor smsInboxCursor1 = getContentResolver().query(
Uri.parse("content://sms/inbox"), new String[] {},
"read = 0 and address='" + pre_address + "'", null, null);
int indexBody = smsInboxCursor1.getColumnIndex("body");
int indexAddress = smsInboxCursor1.getColumnIndex("address");
if (indexBody < 0 || !smsInboxCursor1.moveToFirst())
return;
// arrayAdapter.clear();
do {

String str = "SMS From: " + smsInboxCursor1.getString(indexAddress)
+ "\n" + smsInboxCursor1.getString(indexBody) + " \n";
fromNumber = smsInboxCursor1.getString(indexAddress);
smsBody.add(smsInboxCursor1.getString(indexBody));
// arrayAdapter.add(str);
status.add(false);

} while (smsInboxCursor1.moveToNext());
}

现在我想获取从这个特定号码接收短信的时间。我怎样才能做到这一点 ?

最佳答案

有一列名为DATE包含收到消息的日期。可以像其他已经检索的字段一样直接获取:

int indexData = smsInboxCursor1.getColumnIndex("data");

...

long dateReceived = smsInboxCursor1.getLong(indexData);

由于它是一个时间戳,您需要将其转换为人类可读的字符串。你可以用这段代码来做到这一点:

private String getDate(long time) {
Calendar cal = Calendar.getInstance(Locale.ENGLISH);
cal.setTimeInMillis(time);
String date = DateFormat.format("dd-MM-yyyy HH:mm:ss", cal).toString();
return date;
}

关于android - 如何获取短信的接收时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32678154/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com