android 获取通话记录
时间: 2023-06-26 12:08:00 浏览: 119
要获取 Android 设备上的通话记录,可以使用以下代码:
```java
private void getCallLogs() {
if (ActivityCompat.checkSelfPermission(this, Manifest.permission.READ_CALL_LOG) != PackageManager.PERMISSION_GRANTED) {
// 没有权限,请求权限
ActivityCompat.requestPermissions(this, new String[]{Manifest.permission.READ_CALL_LOG}, REQUEST_CODE);
return;
}
// 查询通话记录
Cursor cursor = getContentResolver().query(CallLog.Calls.CONTENT_URI, null, null, null, CallLog.Calls.DEFAULT_SORT_ORDER);
if (cursor == null) {
return;
}
// 遍历通话记录
while (cursor.moveToNext()) {
String number = cursor.getString(cursor.getColumnIndex(CallLog.Calls.NUMBER));
long date = cursor.getLong(cursor.getColumnIndex(CallLog.Calls.DATE));
int type = cursor.getInt(cursor.getColumnIndex(CallLog.Calls.TYPE));
int duration = cursor.getInt(cursor.getColumnIndex(CallLog.Calls.DURATION));
// 处理通话记录数据
// ...
}
cursor.close();
}
```
需要注意的是,在 Android 6.0 及以上版本中,需要在运行时动态请求读取通话记录的权限。