Couldn't read row 0, col -1 from CursorWindow. Make sure the Cursor is initialized correctly before
andriod开发查询通话记录的时候报错,源码如下
//获取通话记录 private void getContentCallLog() { try{ Cursor cursor = getContentResolver().query(callUri, // 查询通话记录的URI columns , null, null, CallLog.Calls.DEFAULT_SORT_ORDER// 按照时间逆序排列,最近打的最先显示 ); String str=""; // Log.i(TAG,"cursor count:" + cursor.getCount()); while (cursor.moveToNext()) { //String vname = cursor.getString(cursor.getColumnIndex("sub_id")); //姓名 String name = cursor.getString(cursor.getColumnIndex(CallLog.Calls.CACHED_NAME)); //姓名 String phoneid = cursor.getString(cursor.getColumnIndex(CallLog.Calls.PHONE_ACCOUNT_ID)); //姓名 String number = cursor.getString(cursor.getColumnIndex(CallLog.Calls.NUMBER)); //号码 String phoneconpid = cursor.getString(cursor.getColumnIndex(CallLog.Calls.PHONE_ACCOUNT_COMPONENT_NAME)); //号码 long dateLong = cursor.getLong(cursor.getColumnIndex(CallLog.Calls.DATE)); //获取通话日期 String date = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date(dateLong)); String time = new SimpleDateFormat("HH:mm").format(new Date(dateLong)); int duration = cursor.getInt(cursor.getColumnIndex(CallLog.Calls.DURATION));//获取通话时长,值为多少秒 int type = cursor.getInt(cursor.getColumnIndex(CallLog.Calls.TYPE)); //获取通话类型:1.呼入2.呼出3.未接 String dayCurrent = new SimpleDateFormat("dd").format(new Date()); String dayRecord = new SimpleDateFormat("dd").format(new Date(dateLong)); str=str.concat(number+"#"+vname+"#"+phoneid+"#"+phoneconpid+"\n"); // Log.i(TAG,"Call log: " + "\n" // + "name: " + name +"\n" // + "phone number: " + number + "\n" // // ); TextView bfws = findViewById(R.id.bfw); bfws.setText(str); } }catch (Exception e){ TextView bfws = findViewById(R.id.bfw); bfws.setText(e.getMessage()); } // TextView bfws = findViewById(R.id.bfw); // bfws.setText(str); }
acejs代码编辑器如何调用openai api实现选择代码修改与代码自动补全?
ace.js如何获取选择文本的开始和结束行数?
如何把qwen code cli或gemini cli的免费调用额度换成http api对外开放接口?
如何限制windows10电脑只能打开指定的程序?
python如何调用ai大模型实现web网页系统的功能测试并生成测试报告?
有没有免费进行web网站ai仿真人测试生成测试报告的mcp服务或api?
Context Engineering到底是啥,有什么用?
如何使用Google veo 3+高斯溅射(Gaussian Splatting)技术生成4d视频?
浏览器中如何实时调用摄像头扫描二维码?
grok4、gemini2.5pro、gpt5、claude4.1到底谁的编程能力更强一些?