【发布时间】:2020-05-29 20:39:10
【问题描述】:
我正在构建一个可以进行视频通话的应用程序,我正在使用 Agora SDK 来实现该功能。当我想在我的设备上运行应用程序时遇到问题。自然它会要求相机和麦克风的许可,但它不会问我,视频通话功能也不会启动。这是我的一些代码:
给我错误的函数
Future<void> onJoin() async {
// update input validation
setState(() {
_channelController.text.isEmpty
? _validateError = true
: _validateError = false;
});
if (_channelController.text.isNotEmpty) {
// await for camera and mic permissions before pushing video page
await _handleCameraAndMic(); // doesn't asks for any permissions so the video call won't start
//await _permissions();
// push video page with given channel name
await Navigator.push(
context,
MaterialPageRoute(
builder: (context) => CallPage(
channelName: _channelController.text,
),
),
);
}
}
Future<void> _handleCameraAndMic() async {
await PermissionHandler().requestPermissions(
[PermissionGroup.camera, PermissionGroup.microphone],
);
}
我遇到的异常
未处理的异常:MissingPluginException(未找到实现 对于通道上的方法 requestPermissions flutter.baseflow.com/permissions/methods)
我正在使用this as a reference 来构建功能
我不确定我在哪里做错了,因为我对 Flutter 开发非常陌生。任何帮助将不胜感激,如果您需要更多代码,我会提供给您,请随时询问。谢谢。
【问题讨论】:
-
热重载/如果插件包含本机代码,热重启将不起作用。您需要重新构建项目以加载新插件,然后它才能工作。
-
@Darish 我已经重新构建了它但仍然无法正常工作,还有其他建议吗?
-
您是如何将插件添加到您的项目中的?
-
您是否将权限处理程序依赖项添加到您的 pubspec.yaml 中?
-
@Darish 我使用与我遵循的示例相同的版本