在 RC 仍处于开机状态时检测 DJI 无人机掉电事件
Detect DJI drone power down event while RC is still powered on
有没有办法判断无人机什么时候关机(遥控器还在开机的时候)?例如,飞行员可能会更换无人机电池,但不会关闭遥控器。
我尝试使用 keyManager 来监听 DJIProductKey、DJIFlightControllerKey 和 DJIAirLinkKey 的 DJIParamConnection 参数。
我还试过听 DJISSDKManagerDelegate 方法 productConnected、productDisconnected、productChanged、componentConnectedWithKey 和 componentDisconnectedWithKey。
但是none这些键值或者委托方法是在无人机断电的时候触发的。它们仅在遥控器也断电时触发。
是否有其他方法检测此事件?
使用 iOS SDK 4.15.2
在 M300 和 Mavic Pro 上测试
编辑
我应该提到这是 运行 在本机 React 模块上。在创建 RN 原生模块时,除非指定,否则 RN 会将模块放在后台线程上。
componentDisconnectedWithKey 和 productConnected 委托函数没有为我触发,因为 运行 使用 DJISDKManagerDelegate 协议的实例没有 运行 在主线程上,所以奇怪的是有时它们会触发,有时不会。
我应该在我原来的 post 中提到,这是本机模块 运行ning on a react native app。大多数 DJI 样本都将 DJISSDKManagerDelegate 附加到 ViewController,我假设主线程上有 运行s。在创建 RN 原生模块时,除非指定,否则 RN 会将模块放在后台线程中。可能有更优雅的解决方案,但我通过指定此本机模块应该 运行 在主线程上解决了这个问题。
- (dispatch_queue_t)methodQueue
{
return dispatch_get_main_queue();
}
有没有办法判断无人机什么时候关机(遥控器还在开机的时候)?例如,飞行员可能会更换无人机电池,但不会关闭遥控器。
我尝试使用 keyManager 来监听 DJIProductKey、DJIFlightControllerKey 和 DJIAirLinkKey 的 DJIParamConnection 参数。
我还试过听 DJISSDKManagerDelegate 方法 productConnected、productDisconnected、productChanged、componentConnectedWithKey 和 componentDisconnectedWithKey。
但是none这些键值或者委托方法是在无人机断电的时候触发的。它们仅在遥控器也断电时触发。
是否有其他方法检测此事件?
使用 iOS SDK 4.15.2
在 M300 和 Mavic Pro 上测试编辑
我应该提到这是 运行 在本机 React 模块上。在创建 RN 原生模块时,除非指定,否则 RN 会将模块放在后台线程上。
componentDisconnectedWithKey 和 productConnected 委托函数没有为我触发,因为 运行 使用 DJISDKManagerDelegate 协议的实例没有 运行 在主线程上,所以奇怪的是有时它们会触发,有时不会。
我应该在我原来的 post 中提到,这是本机模块 运行ning on a react native app。大多数 DJI 样本都将 DJISSDKManagerDelegate 附加到 ViewController,我假设主线程上有 运行s。在创建 RN 原生模块时,除非指定,否则 RN 会将模块放在后台线程中。可能有更优雅的解决方案,但我通过指定此本机模块应该 运行 在主线程上解决了这个问题。
- (dispatch_queue_t)methodQueue
{
return dispatch_get_main_queue();
}