1

我可以从我的联系人列表中获取联系人 ID 和姓名。但 LAST_TIME_CONTACTED 返回 0。如何正确获取 LAST_TIME_CONTACTED?

我的代码:

ContentResolver cr = getContentResolver();
Cursor cur = cr.query(ContactsContract.Contacts.CONTENT_URI, null, null, null, null);
if (cur.getCount() > 0)
{
    while (cur.moveToNext())
    {
        String id = cur.getString(cur.getColumnIndex(ContactsContract.Contacts._ID));
        String name = cur.getString(cur.getColumnIndex(ContactsContract.Contacts.DISPLAY_NAME));
        String last = cur.getString(cur.getColumnIndex(ContactsContract.Contacts.LAST_TIME_CONTACTED));
    }
}
4

2 回答 2

1

正如 Ed Hinchliffe 所说,这似乎是一个不可靠的领域。但是,如果您的用例可以接受,您可以自己存储这样的值。

如果你使用 aBroadcastReceiver和 aPhoneStateListener你也许可以把它拉下来。

您只需要String.valueOf(currentDate.getTime());在某处使用和存储该值。

于 2013-08-30T20:33:31.620 回答
1

从表面上看,这并不是所有设备制造商都正确实施的。因此,不幸的是,这似乎是一个不可靠的领域。如果您使用的是三星 Galaxy 设备,几乎可以肯定......

作为旁注,我认为它存储为整数,因此您可能会更好地使用getInt(),但我非常怀疑这是问题所在。

于 2013-08-30T20:08:26.403 回答