Search code examples
javaandroiddji-sdk

Mavic 2 Enterprise do not show video after use it with DJI GO


Use case:

1) Connect with Mavic 2 Enterprise through DJI GO or DJI GO 4. Interesting thing that DJI GO recognizes drone as Mavic Pro and ask to use DJI GO 4. DJI GO 4 recognizes drone as Phantom4 and ask to use DJI GO.

2) Close DJI GO and reconnect to drone through mobile app with DJI SDK

As result there is no "onReceive" method call at VideoFeeder. If you have used DJI PILOT app camera has been repaired and is work correctly until you will have not used DJI GO or DJI GO 4 again. Is anybody know something about this strange Mavic 2E behavior?


Solution

  • The problem was that the DJI GO sets an invalid camera mode to some unsopported drones. There is several camera modes for DJI drones. They are desceibed here for the Android SDK. I think it should be the same for the IOS SDK. So I don't remember what mode was being set by the DJI GO app. It seems to be Unkown mode. Anyway in my app I use only ShootPhoto and RecordVideo modes, so if a camera mode on drone connecting was none of this two, I set 'ShootPhoto` by default.