大疆社区
大疆社区
骆驼2
已累计飞行 0 米
发布于2021-7-6
浏览1.6k
相关分类
开发者
技术交流
0
0
7
0

7 条评论

最新
最早
大疆社区
快来评论吧
大疆社区

已累计飞行 0 米

收到官方的回复: 尊敬的开发者, 您好,感谢您联系DJI 大疆创新。 目前 MSDK 4.15.1还不支持 Air 2S,所以您无法使用 Air 2S 连接。我们计划在十二月底发布安卓版本的 MSDK 4.16,在这个版本中,将会支持 Air 2S、Mini 2以及 Mini SE。之后您将可以使用 MSDK 4.16来连接 Air 2S。

2021-9-23

大疆社区

已累计飞行 0 米

回复 sxx :我现在在getFlightController()为null的时候,一直循环注册,调试也发现它一直在循环,但是返回永远都是null。SDK是4.15,飞机固件已经升级到最新。代码如下,请帮忙看看是否少了什么步骤,谢谢! private void startSDKRegistration() { if (isRegistrationInProgress.compareAndSet(false, true)) { } AsyncTask.execute(new Runnable() { @Override public void run() { ToastUtils.setResultToToast("Registering, pls wait..."); DJISDKManager.getInstance().registerApp(MainActivity.this.getApplicationContext(), new DJISDKManager.SDKManagerCallback() { @Override public void onRegister(DJIError djiError) { if (djiError == DJISDKError.REGISTRATION_SUCCESS) { DJILog.e("App registration", DJISDKError.REGISTRATION_SUCCESS.getDeion()); DJISDKManager.getInstance().startConnectionToProduct(); ToastUtils.setResultToToast("SDK Registered Successfully"); showDBVersion(); KeyManager.getInstance().addListener(ProductKey.create(ProductKey.CONNECTION), new KeyListener() { @Override public void onValueChange(@Nullable Object o, @Nullable Object o1) { Log.d(TAG, String.format("onProductConnect newProduct:%s", o1)); if (DJISDKManager.getInstance().getProduct() != null && DJISDKManager.getInstance().getProduct() instanceof Aircraft && ((Aircraft)DJISDKManager.getInstance().getProduct()).getFlightController() != null) { fly.init(); }else { startSDKRegistration(); } notifyStatusChange(); } }); } else { ToastUtils.setResultToToast("SDK Registration Failed. Please check the bundle ID and your network\n" + " connectivity"+ djiError.getDeion()); } Log.v(TAG, djiError.getDeion()); hideProcess(); } @Override public void onProductDisconnect() { Log.d(TAG, "onProductDisconnect"); notifyStatusChange(); } @Override public void onProductConnect(BaseProduct baseProduct) { Log.d(TAG, String.format("onProductConnect newProduct:%s", baseProduct)); if (DJISDKManager.getInstance().getProduct() != null && DJISDKManager.getInstance().getProduct() instanceof Aircraft && ((Aircraft)DJISDKManager.getInstance().getProduct()).getFlightController() != null) { fly.init(); }else { startSDKRegistration(); } notifyStatusChange(); } @Override public void onProductChanged(BaseProduct baseProduct) { Log.d(TAG, String.format("onProductChanged newProduct:%s", baseProduct)); notifyStatusChange(); } @Override public void onComponentChange(BaseProduct.ComponentKey componentKey, BaseComponent oldComponent, BaseComponent newComponent) { if (newComponent != null) { newComponent.setComponentListener(mDJIComponentListener); } Log.d(TAG, String.format("onComponentChange key:%s, oldComponent:%s, newComponent:%s", componentKey, oldComponent, newComponent)); notifyStatusChange(); } @Override public void onInitProcess(DJISDKInitEvent djisdkInitEvent, int i) { } @Override public void onDatabaseDownloadProgress(long current, long total) { int process = (int) (100 * current / total); Log.d(TAG, "DB load process : " + process); if (process == lastProcess) { return; } lastProcess = process; showProgress(process); if (process % 25 == 0){ ToastUtils.setResultToToast("DB load process : " + process); }else if (process == 0){ ToastUtils.setResultToToast("DB load begin"); } } }); } }); }

2021-9-22

大疆社区

已累计飞行 0 米

回复 骆驼2 :KeyManager 一开始也是null。要判断,我在每一次通知产品连接的时候都会重置一遍监听设置。

2021-7-8

大疆社区

已累计飞行 0 米

回复 骆驼2 :至少要等到返回无人机才行。 这个也是MSDK比较坑逼的地方。你可以用KeyManager 监听 ProductKey.create(ProductKey.CONNECTION) 这个key。等到返回true再获取。一般都是先获取再添加监听

2021-7-8

大疆社区

已累计飞行 0 米

回复 sxx :我把获取时机改到了onProductConnect里了,获取到的也还是Unknown,然后DJISDKManager.getInstance().getProduct().isConnected()返回的是true,但是DJISDKManager.getInstance().getProduct().getFlightController()返回的是null。飞机的固件已经升级到最新,SDK用的4.15。

2021-7-7

大疆社区

已累计飞行 0 米

回复 sxx :我用的是最新的4.15,连接Mavic 2 Pro正常,2S不行。我是在MainActivity::onCreate的时候去获取的。请问您是在哪个时机获取的?

2021-7-6

大疆社区

已累计飞行 0 米

可能是获取的时机不对?最新的4.15应该是支持的。我获取到model 返回的是 MAVIC_2_ENTERPRISE_ADVANCED

2021-7-6

暂无更多评论

关于作者

已累计飞行 0 米

大疆社区

骆驼2

飞行学员

认证设备

暂无关联认证的设备