F

flutter_callkit_incoming

A Flutter plugin to show incoming call in your Flutter app

EN | RU

Aurora OS implementation of flutter_callkit_aurora

The original ReadMe of the flutter_callkit_incoming plugin: README

Description

This plugin is an implementation of the flutter_callkit_incoming package for the Aurora operating system. This plugin is used to show incoming and outgoing call in your Flutter app.

ReadMe of the usage example: README

Quick launch

final callKitParams = CallKitParams(
    id: "unique-call-id-12345",
    nameCaller: 'John Doe',
    handle: '1234567890',
    normalHandle: 1111111111,
    type: 0,
    duration: 5000,
    appName: 'My Awesome App',
    missedCallNotification: const NotificationParams(
        id: null,
        showNotification: true,
        isShowCallback: true,
        subtitle: 'Missed call',
        callbackText: 'Call back',
        count: null,
    ),
    callingNotification: const NotificationParams(
        id: null,
        showNotification: true,
        isShowCallback: true,
        subtitle: 'Calling',
        callbackText: 'Call back',
        count: null,
    ),
    extra: <String, dynamic>{
        'useDurationIncoming': false,
        'useDurationOutgoing': false,
    },
);

await FlutterCallkitIncoming.showCallkitIncoming(callKitParams);

Features

  • Incoming Call Display: Show a native-style incoming call screen on Aurora OS with caller details and action buttons.
  • Outgoing Call Support: Initiate and display outgoing call.
  • Missed Call Notifications: Display missed call notification.
  • Mute and umnute micro: Microphone status managing during the call.
  • Disconnect Calls: End all active calls.
  • Resource Management: When the call status changes to "Active", "Dialing", or "Held", AudioResource is used to request audio resources. These resources are released when the call status becomes "Disconnected". This helps to avoid issues with audio volume changes during calls. The acquireAudioResource and releaseResources methods of the ResourceManager class are used for this. More details: ResourceManager.h. Interaction with these methods occurs automatically in the Dart part of the plugin.

Contents

Build and Install

pubspec.yaml

dependencies:
  flutter_callkit_incoming: ^3.0.0

Detailed description

Not implemented methods.

Plugin method Description Reason
requestNotificationPermission Request notification permission There is no need to implement it due to the system features: permissions are obtained when the application is launched
requestFullIntentPermission Request notification permission There is no need to implement it due to the system features: permissions are obtained when the application is launched
getDevicePushTokenVoIP Push token for iOS There is no need for implementation: the Flutter_local_notifications_aurora plugin allows you to generate Push notifications without registering in the service
hideCallkitIncoming Hide call notification The OS API has a limitation

Implemented Events

The table below describes all events in the plugin.

Event Constant Description When Generated
Incoming Call ACTION_CALL_INCOMING Incoming call received When showCallkitIncoming() is called
Outgoing Call ACTION_CALL_START Notification about outgoing call start When startCall() is called
Call Accepted ACTION_CALL_ACCEPT User accepted the incoming call When Accept is received from D-Bus or when call transitions from ringing/dialing to active status
Call Declined ACTION_CALL_DECLINE User declined the incoming call When Reject is received from D-Bus
Call Ended ACTION_CALL_ENDED Call terminated (by either party) When endCall() is called or when status changes to disconnected
Call Connected ACTION_CALL_CONNECTED Call is active, connection established When call object is registered
Call Hold Toggle ACTION_CALL_TOGGLE_HOLD Call hold state changed When holdCall() is called
Microphone Mute Toggle ACTION_CALL_TOGGLE_MUTE Microphone state changed (mute/unmute) When muteCall() is called or when RequestMute signal is received from the system

Compatibility

  • Aurora OS: 5.1.3+
  • Audio playback while active voice call is not compatible with the emulator

Usage Rules

  • The source code of the project is provided under the license, that allows it to be used in third-party applications.
  • To participate in the development of the project, please read the contributor agreement. If you plan to contribute your own source code to the project, you will need to accept the CLA agreement.
  • For information about contributors see AUTHORS.
  • Code of conduct is a current set of rules of the Open Mobile Platform which informs you how we expect the members of the community will interact while contributing and communicating.