如何转移通话记录数据?

问题描述 投票:0回答:1
  • 我的最终目标是设计一个应用程序,该应用程序在安装时会自动检索所有呼叫历史记录数据并将其推送到数据库,最好是采用csv格式。将对数据执行数据科学模型,并将结果发送回应用程序进行显示。
  • 我想问一个应用程序是否有可能做到这一点?如果是这样,我应该选择什么样的基本算法?附言:我是一名数据科学专业的学生,​​并且我是第一次阅读android代码。
android android-things
1个回答
0
投票

是的,您可以阅读通话记录,以下是一些开头

首先在清单中启用权限

<uses-permission android:name="android.permission.READ_CALL_LOG" />

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

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()
        }
© www.soinside.com 2019 - 2024. All rights reserved.