call_log_new 1.0.1 copy "call_log_new: ^1.0.1" to clipboard
call_log_new: ^1.0.1 copied to clipboard

A Flutter plugin for accessing call logs on Android and iOS platforms.

example/lib/main.dart

import 'package:call_log_new/call_log_new.dart';
import 'package:flutter/material.dart';
import 'package:permission_handler/permission_handler.dart';

void main() {
  runApp(const MyApp());
}

class MyApp extends StatelessWidget {
  const MyApp({super.key});

  // This widget is the root of your application.
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Call Log Example',
      theme: ThemeData(
        colorScheme: ColorScheme.fromSeed(seedColor: Colors.deepPurple),
        useMaterial3: true,
      ),
      home: CallLogScreen(),
    );
  }
}

class CallLogScreen extends StatefulWidget {
  @override
  _CallLogScreenState createState() => _CallLogScreenState();
}

class _CallLogScreenState extends State<CallLogScreen> {
  List<Map<String, dynamic>> callLogs = [];

  @override
  void initState() {
    super.initState();
    fetchCallLogs();
  }

  Future<void> fetchCallLogs() async {
    // Request permissions
    final status = await Permission.phone.request();
    if (status.isGranted) {
      try {
        final logs = await CallLog.fetchCallLogs();
        setState(() {
          callLogs = logs;
        });
      } catch (e) {
        print("Error fetching call logs: $e");
      }
    } else {
      print("Permission denied");
    }
  }

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(title: const Text('Call Logs')),
      body: callLogs.isEmpty
          ? const Center(child: Text('No Call Logs'))
          : ListView.builder(
              itemCount: callLogs.length,
              itemBuilder: (context, index) {
                final log = callLogs[index];
                return ListTile(
                  title: Text("Number: ${log['number']}"),
                  subtitle: Text(
                    "Type: ${log['type']}, Date: ${DateTime.fromMillisecondsSinceEpoch(log['date'])}, Duration: ${log['duration']} seconds",
                  ),
                );
              },
            ),
    );
  }
}
2
likes
0
points
56
downloads

Publisher

unverified uploader

Weekly Downloads

A Flutter plugin for accessing call logs on Android and iOS platforms.

Repository (GitHub)
View/report issues

License

unknown (license)

Dependencies

flutter, plugin_platform_interface

More

Packages that depend on call_log_new