Android通话记录阅读

时间:2011-09-30 22:43:25

标签: android calllog

大家好,我在阅读CallLog时遇到问题,数字的值为0,当我读取缓存的名称时为2 这是我的代码,我放了许可

         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());

}

我已经阅读了有关stackoverflow的所有相关问题 我想通了,所以如果有人面对它我会保留这个问题我是转储:S

1 个答案:

答案 0 :(得分:1)

取决于电话,也不是所有/任何列都需要填写。最多到运营商/制造商/其他任何人想要写入表。但是,问题解决方法是否会这样做