2011-04-06 76 views
1

我正在尝试获取调用日期,但它返回1.1.1970的值(我认为这是一些默认值)。Android:我如何获得通话日期?

的源代码:

Cursor c = getContentResolver().query(android.provider.CallLog.Calls.CONTENT_URI, null, null, null, null); 

callDate = c.getColumnIndex("date"); 
int callDateInt = c.getInt(callDate); 
String callDateStr = DateFormat.getDateInstance().format(callDateInt); 

callDateStr正在恢复1.1.1970.How我可以解决这个问题吗?

回答

1

使用类型而不是int来保存您的日期值(自时代以来的毫秒数)。值溢出整数。

替换:

int callDateInt = c.getInt(callDate); 

有:

long callDateInt = c.getLong(callDate); 
+0

它返回相同的值(1.1.1970) – Husky 2011-04-07 19:17:02

+0

我的第一个答案是错误的,更新修复。 – Sean 2011-04-08 20:46:46

+0

Cursor c = getContentResolver()。query(android.provider.CallLog.Calls.CONTENT_URI,null,null,null,null); 当我使用上面的光标我收到错误, 我试过 callDate = c.getColumnIndex(“date”); – DAS 2011-11-14 11:15:43