Как передать данные журнала вызовов? - PullRequest
0 голосов
/ 30 мая 2020
  • Моя конечная цель - разработать приложение, которое после установки автоматически извлекает все данные истории вызовов и отправляет их в базу данных, предпочтительно в формате csv. На данных будет создана модель науки о данных, и результаты будут отправлены обратно в приложение для отображения.
  • Я хотел спросить, возможно ли это вообще для приложения? Если да, то для чего мне нужен алгоритм go подобного базового c? Ps: Я изучаю науку о данных и впервые смотрю на код android.

1 Ответ

1 голос
/ 30 мая 2020

Да, вы можете читать журналы вызовов, здесь можно начать с

Сначала включите разрешение в своем манифесте

<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()
        }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...