0

大家好,当我阅读 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

4

1 回答 1

1

取决于电话,也不是所有/任何列都需要填写。取决于运营商/制造商/其他想要写入表格的人。但是是的,问题修复会做到这一点

于 2011-09-30T22:50:02.780 回答