1

我是 android SDK 的新手,我正在尝试从通话日志中读取以获取使用以下代码进行的最后一次通话的信息​​。

public class MainActivity extends Activity{

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    String sthh=getdur();
}

public String getdur(){
    String[] projection = new String[] {
            Calls.DATE
            , Calls.DURATION
            , Calls.NUMBER
    };
    ContentResolver cr = getContentResolver();
    Cursor mCur = cr.query(android.provider.CallLog.Calls.CONTENT_URI, projection, null, null, Calls.DATE + " ASC");
    mCur.moveToLast();
    String dur = mCur.getString(mCur.getColumnCount());
    mCur.close();
    return dur;
}

但是,我在 logcat 中得到 RuntimeException 和以下内容。

E/CursorWindow(21773):无法从具有 473 行 3 列的 CursorWindow 读取第 472 行第 3 列。

我的代码有什么问题?非常感谢你。

4

1 回答 1

1

解决了,添加

Cursor mCur =null;

mCur = cr.query.......
于 2012-12-03T01:50:25.597 回答