我可以从联系人列表中获取联系人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));
}
}
答案 0 :(得分:1)
By the looks of things所有设备制造商都没有正确实施。因此,不幸的是,这似乎是一个不可靠的领域。如果你使用的是三星Galaxy设备,几乎可以肯定的话......
作为旁注,我认为它存储为整数,因此您可能更好地使用getInt()
,但我非常怀疑这是问题所在。
答案 1 :(得分:1)
如果您使用BroadcastReceiver
和PhoneStateListener
,则可以将其关闭。
您只需使用String.valueOf(currentDate.getTime());
并将值存储在某处。