I have now exactly the same problem than
@aeropic ...
After two or three months without any issue, my Spark required "LOGIN_REQUIRED".
So I started to look through the DJI API and found this explaination :
https://developer.dji.com/api-refer...ctivationManager/DJIAppActivationManager.html
"
DJI aircraft firmware require mobile applications that control DJI aircraft to be activated with the user's DJI account, if that application is being used in China. This will ensure operators use the correct set of geospatial information and flight functions for their aircraft, as determined by their geographical location and user profile.
A summary of the activation system is:
- Users in China are required to activate their application by logging into their DJI account at least once every three months within the application
- Activation will be persistent in the application until the user logs out
- A data connection will be required to log into a DJI account
- Outside of China, the SDK will automatically activate the application without requiring the user to log in
- Additionally, users in china are required to bind their aircraft to their user account in DJI Go. This is required only once.
If an application is not activated, the aircraft not bound (if required), or a legacy version of the SDK (<4.1) is being used, all camera live streams will be disabled, and flight will be limited to a cylinder of 100m diameter and 30m height to ensure the aircraft stays within line of sight. "
Well I started to open the
@Erel xml file for DJI library and discovered that a wrap of " UserManager As DJIUserManager" was already existing
The .login method was exposed but didn't produce any effect.
I finally used javaobject to test this method :
Sub logIntoDJIUserAccount
Try
UserManager.Initialize("user")
Dim myLog As JavaObject = UserManager
Dim context As JavaObject
context.initializeContext
myLog.RunMethod("logIntoDJIUserAccount", Array(context, Null))
Catch
Log(LastException)
End Try
End Sub
And ... It works !
A dialog is opened requiring the login and the password + a captcha
Afterwhat a token is generated and sent to your phone via SMS. You can enter it into another popup dialog
[DJI]Your verification code is 519341, valid within 5 minutes.
And it worked, it unlocked my spark during the current flight.
BUT next time I opened the App
the situation was even worse... I don't have the "LOGIN_REQUIRED" message but instead a persistant " SDK_BindingStateChanged: UNBOUND "
And my App is locked... and even for my Mavic Mini which was working fine...
I don't understand what is DJI doing... but it's really a shame