带有 Agora flutter 的视频通话接受屏幕
video call acceptance screen with Agora flutter
我正在尝试使用 Agora 构建一个视频通话应用程序,我需要在用户呼叫时显示 WhatsApp 之类的接受屏幕,如果应用程序退出我需要在用户呼叫时显示呼叫屏幕,我尝试了很多东西,但没有任何效果,我试着去做,但没有太多关于这方面的信息,请帮助我
您可以尝试 WorkManager 插件。
您可以在应用程序 closed 时向 os 注册一个回调函数。
const myTask = "syncWithTheBackEnd";
void main() {
Workmanager.initialize(callbackDispatcher);
Workmanager.registerOneOffTask(
"1",
myTask, //This is the value that will be returned in the callbackDispatcher
initialDelay: Duration(minutes: 5),
constraints: WorkManagerConstraintConfig(
requiresCharging: true,
networkType: NetworkType.connected,
),
);
runApp(MyApp());
}
void callbackDispatcher() {
Workmanager.executeTask((task) {
switch (task) {
case myTask:
print("this method was called from native!");
break;
case Workmanager.iOSBackgroundTask:
print("iOS background fetch delegate ran");
break;
}
//Return true when the task executed successfully or not
return Future.value(true);
});
}
也许这可以帮到你。
完整文章medium article
要事第一。在深入研究您的解决方案之前,您需要了解一些概念。实际上并没有开箱即用的解决方案。
你需要同时使用一些东西:
- 使用推送通知“唤醒”您的应用程序:
https://pub.dev/packages/firebase_messaging
要使用推送通知启动您的应用程序,请参考此 post:
- 使用 CallKit (IOS) 或 ConnectionServices (Android) 显示即将到来的通话屏幕。到这个答案的那天,只有几个包可以处理这些事情,这里是一个可以处理两个平台的包:
https://pub.dev/packages/flutter_callkeep
如果您想要一个完全不同的东西并且需要 运行 一些后台进程,那么您应该首先了解很多事情。
我建议从这里开始:https://flutter.dev/docs/development/packages-and-plugins/background-processes
这是一个有用的包,用于处理应该持续 运行ning 的后台进程:
https://pub.dev/packages/background_fetch
目前有两个软件包为 agora.io 提供集成:
- https://pub.dev/packages/agora_rtc_engine(Agora实时通讯,含视频通话)
- https://pub.dev/packages/agora_rtm 用于 real-time 消息
希望对您有所帮助
我正在尝试使用 Agora 构建一个视频通话应用程序,我需要在用户呼叫时显示 WhatsApp 之类的接受屏幕,如果应用程序退出我需要在用户呼叫时显示呼叫屏幕,我尝试了很多东西,但没有任何效果,我试着去做,但没有太多关于这方面的信息,请帮助我
您可以尝试 WorkManager 插件。
您可以在应用程序 closed 时向 os 注册一个回调函数。
const myTask = "syncWithTheBackEnd";
void main() {
Workmanager.initialize(callbackDispatcher);
Workmanager.registerOneOffTask(
"1",
myTask, //This is the value that will be returned in the callbackDispatcher
initialDelay: Duration(minutes: 5),
constraints: WorkManagerConstraintConfig(
requiresCharging: true,
networkType: NetworkType.connected,
),
);
runApp(MyApp());
}
void callbackDispatcher() {
Workmanager.executeTask((task) {
switch (task) {
case myTask:
print("this method was called from native!");
break;
case Workmanager.iOSBackgroundTask:
print("iOS background fetch delegate ran");
break;
}
//Return true when the task executed successfully or not
return Future.value(true);
});
}
也许这可以帮到你。
完整文章medium article
要事第一。在深入研究您的解决方案之前,您需要了解一些概念。实际上并没有开箱即用的解决方案。
你需要同时使用一些东西:
- 使用推送通知“唤醒”您的应用程序:
https://pub.dev/packages/firebase_messaging
要使用推送通知启动您的应用程序,请参考此 post:
- 使用 CallKit (IOS) 或 ConnectionServices (Android) 显示即将到来的通话屏幕。到这个答案的那天,只有几个包可以处理这些事情,这里是一个可以处理两个平台的包:
https://pub.dev/packages/flutter_callkeep
如果您想要一个完全不同的东西并且需要 运行 一些后台进程,那么您应该首先了解很多事情。
我建议从这里开始:https://flutter.dev/docs/development/packages-and-plugins/background-processes
这是一个有用的包,用于处理应该持续 运行ning 的后台进程:
https://pub.dev/packages/background_fetch
目前有两个软件包为 agora.io 提供集成:
- https://pub.dev/packages/agora_rtc_engine(Agora实时通讯,含视频通话)
- https://pub.dev/packages/agora_rtm 用于 real-time 消息
希望对您有所帮助