可以自己编写代码实现一个,核心代码:
/** * 插入一条通话记录 * @param number 通话号码 * @param duration 通话时长(响铃时长)以秒为单位 1分30秒则输入90 * @param type 通话类型 1呼入 2呼出 3未接 * @param isNew 是否已查看 0已看1未看 */ private void insertCallLog(String number, String duration, String type, String isNew) { //在通讯录查询是否存在该联系人,若存在则把名字信息也插入到通话记录中 String name = ""; String[] cols = {ContactsContract.PhoneLookup.DISPLAY_NAME}; //设置查询条件 String selection = ContactsContract.CommonDataKinds.Phone.NUMBER + "='"+number+"'"; Cursor cursor = getContentResolver().query(ContactsContract.CommonDataKinds.Phone.CONTENT_URI, cols, selection, null, null); int nameFieldColumnIndex = cursor.getColumnIndex(ContactsContract.PhoneLookup.DISPLAY_NAME); if (cursor.getCount()>0){ cursor.moveToFirst(); name = cursor.getString(nameFieldColumnIndex); } cursor.close(); ContentValues values = new ContentValues(); values.put(CallLog.Calls.CACHED_NAME, name); values.put(CallLog.Calls.NUMBER, number); values.put(CallLog.Calls.DATE, System.currentTimeMillis() ); values.put(CallLog.Calls.DURATION, duration); values.put(CallLog.Calls.TYPE, type); values.put(CallLog.Calls.NEW, isNew); if (ActivityCompat.checkSelfPermission(this, Manifest.permission.WRITE_CALL_LOG) != PackageManager.PERMISSION_GRANTED) { ActivityCompat.requestPermissions(this, new String[]{Manifest.permission.WRITE_CALL_LOG}, 1000); } getContentResolver().insert(CallLog.Calls.CONTENT_URI, values); }
使用的时候记得在manifest文件添加权限
网友回复
有没有类似豆包pc端ai大模型编程代码块折叠右侧流式输出带预览的前后端代码?
nodejs有没有很快的目录爬虫和通配符文件查找库?
js如何流式输出ai的回答并折叠代码块,点击代码块右侧可预览代码?
ai大模型如何将文章转换成可视化一目了然的图片流程图图表?
大模型生成html版本的ui原型图和ppt演示文档的系统提示词怎么写?
rtsp视频直播流如何转换成websocket流在h5页面上观看?
为啥coze会开源工作流agent coze studio?
如何检测网页是通过收藏夹打开的?
python如何实现类似php的http动态脚本请求处理响应代码?
js如何实现类似php的http动态脚本请求处理响应代码?