如何传输通话记录数据? 我的最终目标是设计一个应用程序,安装后自动检索所有通话历史数据并将其推送到数据库,最好是csv格式。将对数据执行数据科学模型,并将结果发送回应用程序进行显示 我想问一个应用程序是否可以做到这一点?如果是这样,我应该选择什么样的基本算法? 附言:我是一名数据科学专业的学生,我第一次看到android代码

如何传输通话记录数据? 我的最终目标是设计一个应用程序,安装后自动检索所有通话历史数据并将其推送到数据库,最好是csv格式。将对数据执行数据科学模型,并将结果发送回应用程序进行显示 我想问一个应用程序是否可以做到这一点?如果是这样,我应该选择什么样的基本算法? 附言:我是一名数据科学专业的学生,我第一次看到android代码,android,Android,是的,您可以阅读通话记录,这里有一些内容可以开始 首先在清单中启用权限 您还需要向权限管理器请求权限 ActivityCompat.checkSelfPermission(context,Manifest.permission.READ_CALL_LOG) == PackageManager.PERMISSION_GRANTED { // Get data from database } else { // Request permission from user } 从数据库获取数

是的,您可以阅读通话记录,这里有一些内容可以开始

首先在清单中启用权限

您还需要向权限管理器请求权限

ActivityCompat.checkSelfPermission(context,Manifest.permission.READ_CALL_LOG) == PackageManager.PERMISSION_GRANTED {
  // Get data from database
}
else {
  // Request permission from user
}
从数据库获取数据

val projection = arrayOf(
            CallLog.Calls.CACHED_NAME,
            CallLog.Calls.NUMBER,
            CallLog.Calls.TYPE,
            CallLog.Calls.DATE)

val cursor = getContentResolver().query(CallLog.Calls.CONTENT_URI, projection, null, null, null)
        if(cursor != null) {
            while (cursor.moveToNext()) {
                // Data for your database
                val name: String = cursor.getString(0)
                val number: String = cursor.getString(1)
                val type: String = cursor.getString(2)
                val time: String = cursor.getString(3)
            }
            cursor.close()
        }