Android的通话记录阅读
问题描述:
好家伙,当我读了CallLog数的值是0,当我读如缓存的名称及其2 这里是我的代码,我把允许我面临的一个问题Android的通话记录阅读
String[] fields = {
android.provider.CallLog.Calls.NUMBER,
android.provider.CallLog.Calls.TYPE,
android.provider.CallLog.Calls.CACHED_NAME,
android.provider.CallLog.Calls.CACHED_NUMBER_TYPE
};
String order = android.provider.CallLog.Calls.DATE + " DESC";
Cursor c = getContentResolver().query(
android.provider.CallLog.Calls.CONTENT_URI,
fields,
null,
null,
order
);
if(c.moveToFirst()){
do{
//the problem was here //System.out.println(c.getColumnIndex(android.provider.CallLog.Calls.NUMBER)+" - - ");
//the solution is :$
System.out.println(c.getString(c.getColumnIndex(android.provider.CallLog.Calls.NUMBER))+" - - ");
} while (c.moveToNext());
}
和我已经阅读计算器 所有相关的问题,我想通了,所以我会继续的问题,如果任何一个面对它,我是转储:S
答
依赖于手机,也并非所有/任何列需要填写。直至承运人/制造商/其他人想写入表格。但是是的问题修复会做到这一点
感谢您的信息,我感觉困了,所以我应该喝一些咖啡,以避免这个可怕的错误:$ – Sedz
此外,有一件事我从使用这张表可能是有用的数字列中的负数(-1或-2)通常意味着它们来自私人号码 –
我正在尝试计算特定提供商的通话时间,例如在两个日期间以001开头的数字 适用于不同操作系统版本的所有Android设备? – Sedz