A Flutter plugin to access and query call history log.
Support for Android only as iOS does not provide API for accessing call history
To use this plugin, add
call_log as a dependency in your
You may add the following permission to your Android Manifest:
<uses-permission android:name="android.permission.READ_CALL_LOG" />
This plugin is able to handle checking and requesting permission automatically.
Currently implemented query params are dateFrom, dateTo, durationFrom, durationTo, name and number.
String params are queried using LIKE and '%' wildcard on both sides.
// IMPORT PACKAGE import 'package:call_log/call_log.dart'; // GET WHOLE CALL LOG Iterable<CallLogEntry> entries = await CallLog.get(); // QUERY CALL LOG (ALL PARAMS ARE OPTIONAL) var now = DateTime.now(); int from = now.subtract(Duration(days: 60)).millisecondsSinceEpoch; int to = now.subtract(Duration(days: 30)).millisecondsSinceEpoch; Iterable<CallLogEntry> entries = await CallLog.query( dateFrom: from, dateTo: to, durationFrom: 0, durationTo: 60, name: 'John Doe', number: '901700000', type: CallType.incoming, );
xquery call log using most common fields, using AND as a logical gate
Contribution and Support
- Contributions are welcome!
- If you want to contribute code please create a PR
- If you find a bug or want a feature, please fill an issue
- Built-in types and core primitives for a Flutter application. [...]
- Support for asynchronous programming, with classes such as Future and Stream. [...]
- Classes and utilities that supplement the collection support in dart:core. [...]
- Encoders and decoders for converting between different data representations, including JSON and UTF-8. [...]
- Built-in types, collections, and other core functionality for every Dart program. [...]
- Interact with developer tools such as the debugger and inspector. [...]
- Mathematical constants and functions, plus a random number generator. [...]
- Lists that efficiently handle fixed sized data (for example, unsigned 8 byte integers) and SIMD numeric types. [...]
- File, socket, HTTP, and other I/O support for non-web applications. [...]
- Concurrent programming using isolates: independent workers that are similar to threads but don't share memory, communicating only via messages. [...]