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
acquireAudioResourceandreleaseResourcesmethods of theResourceManagerclass 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.