flutter_incoming_call
一个 Flutter 插件,用于在您的 Flutter 应用中显示来电!Alpha 版本(未准备好用于生产!)
用法
使用此插件
- 配置Android项目
只需将其添加到您的manifest中的activity和receiver。
<activity
android:name="com.github.alezhka.flutter_incoming_call.IncomingCallActivity"
android:theme="@style/Theme.AppCompat"
android:screenOrientation="portrait"
android:showOnLockScreen="true">
<intent-filter>
<action android:name="com.github.alezhka.flutter_incoming_call.activity.ACTION_INCOMING_CALL" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>
<receiver android:name="com.github.alezhka.flutter_incoming_call.CallBroadcastReceiver"
android:enabled="true"
android:exported="false"/>
- 配置Flutter插件
FlutterIncomingCall.configure(
appName: 'example_incoming_call',
duration: 30000,
android: ConfigAndroid(
vibration: true,
ringtonePath: 'default',
channelId: 'calls',
channelName: 'Calls channel name',
channelDescription: 'Calls channel description',
),
ios: ConfigIOS(
iconName: 'AppIcon40x40',
ringtonePath: null,
includesCallsInRecents: false,
supportsVideo: true,
maximumCallGroups: 2,
maximumCallsPerCallGroup: 1,
)
)
- 监听事件
FlutterIncomingCall.onEvent.listen((event) {
if(event is CallEvent) { // Android | IOS
} else if(event is HoldEvent) { // IOS
} else if(event is MuteEvent) { // IOS
} else if(event is DmtfEvent) { // IOS
} else if(event is AudioSessionEvent) { // IOS
}
});
- 调用API
FlutterIncomingCall.displayIncomingCall(String uid, String name, String avatar, String handle, String type, bool isVideo);
FlutterIncomingCall.endCall(String uuid);
FlutterIncomingCall.endAllCalls();
演示
| ios | iOS (锁屏) | Android | Android (锁屏) |
|---|---|---|---|
![]() |
![]() |
示例
请查看example项目文件夹中的示例以获取工作示例。

