Что я могу понять из вашего вопроса, вы не можете работать с выводом CallLog.get () здесь.
После добавления пакета в зависимости от файла pubspe c .yaml и его импорта Вы можете вызвать функцию get () , используя следующую строку кода -
Iterable<CallLogEntry> entries = await CallLog.get();
Возвращает Iterable типа CallLogEntry. Итерируемым является просто набор значений или «элементов», к которым можно обращаться последовательно.
Выходные данные хранятся в элементах , которые затем могут быть повторены для доступа к таким значениям, как -
void _callLogs() async {
Iterable<CallLogEntry> entries = await CallLog.get();
for (var item in entries) {
print(item.name);
}
}
Приведенный выше фрагмент кода выведет имена всех записей CallLog. Попробуйте заменить item.name на item.number, item.duration, item.callType.
Кроме того, не забудьте добавить следующую строку в AndroidManifest. xml
<uses-permission android:name="android.permission.READ_CALL_LOG" />
Вместо CallLog.get (), вы также можете использовать CallLog.query (), чтобы указать ограничения на ответ / вывод, как упомянуто в самом вопросе.