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 に答える