可以自己编写代码实现一个,核心代码:
/**
* 插入一条通话记录
* @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文件添加权限
网友回复
阿里云ESA、cloudflare worker、腾讯云EdgeOne网站代理托管哪家更好?
剪映能打开.fcpxml格式的文件吗?
增量式编码器与绝对式编码器的区别是啥?
有没有开源的单张照片或者序列帧图片或视频就能重建4d场景动画项目?
chrome网页突然报错:错误代码:RESULT_CODE_KILLED_BAD_MESSAGE
openai的codex如何全程无需手动确认自动修改文件?
阿里云oss前端上传文件直传如何限制文件类型?
阿里云oss前端获取policy签名直传oss上传文件回调如何传?
如何将根据三维物体通过提示词变成可交互的4d场景动画?
浏览器中实时摄像头离线视觉ai模型有吗?


