1、在manifest文件添加权限WRITE_CALL_LOG
<uses-permission android:name="android.permission.WRITE_CALL_LOG" />
2、新增通话记录函数
/**
* 插入一条通话记录
* @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) {
ContentValues values = new ContentValues();
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);
}
网友回复