DJI Windows SDK Documentation

class DJISDKManager

sealed class DJISDKManager
Declaration:DJI.WindowsSDK
Description:

This class is the entry point for using the SDK with a DJI product. Most importantly, this class is used to register the SDK, and to connect to and access the product. This class also provides access to important feature managers. SDK Registration using must be successful before the SDK can be used with a DJI product.

Class Members:
Struct
struct
struct EmptyMsg
struct EmptyMsg
Declaration:DJI.WindowsSDK
Description:

A class that contains no property. It is not used by SDK yet.

struct
struct DoubleMsg
struct DoubleMsg
Declaration:DJI.WindowsSDK
Description:

A class that contains a double value.

Struct Members:
double valueThe actual value of the class.
struct
struct IntMsg
struct IntMsg
Declaration:DJI.WindowsSDK
Description:

A class that contains an int value.

Struct Members:
int valueThe actual value of the class.
struct
struct StringMsg
struct StringMsg
Declaration:DJI.WindowsSDK
Description:

A class that contains a string value.

Struct Members:
String valueThe actual value of the class.
struct
struct BoolMsg
struct BoolMsg
Declaration:DJI.WindowsSDK
Description:

A class that contains a string value.

Struct Members:
bool valueThe actual value of the class.
struct DoubleMinMax
struct DoubleMinMax
Declaration:DJI.WindowsSDK
Description:

A struct to represent a min and max range in double type.

Struct Members:
double minThe minimum value of the range.
double maxThe maximum value of the range.
struct LocationCoordinate2D
struct LocationCoordinate2D
Declaration:DJI.WindowsSDK
Description:

A geographical coodinate.

Struct Members:
double latitudeThe latitude in degree.
double longitudeThe longitude in degree.
struct
struct Attitude
struct Attitude
Declaration:DJI.WindowsSDK
Description:

An attitude value in three dimensions (pitch, roll and yaw).

Struct Members:
double pitchThe attitude value in the pitch dimension.
double rollThe attitude value in the roll dimension.
double yawThe attitude value in the yaw dimension.
struct IntPoint2D
struct IntPoint2D
Declaration:DJI.WindowsSDK
Description:

A class that contains x and y in int value, representing a point on a 2D space.

Struct Members:
int xThe x value of the 2D point.
int yThe y value of the 2D point.
struct DoublePoint2D
struct DoublePoint2D
Declaration:DJI.WindowsSDK
Description:

A class that contains x and y in double value, representing a point on a 2D space.

Struct Members:
double xThe x value of the 2D point.
double yThe y value of the 2D point.
struct IntVector2D
struct IntVector2D
Declaration:DJI.WindowsSDK
Description:

A class that contains x and y in int value, representing a vector on a 2D space.

Struct Members:
int xThe x value of the vector.
int yThe y value of the vector.
struct Velocity3D
struct Velocity3D
Declaration:DJI.WindowsSDK
Description:

A velocity value in three dimensions (x, y and z). The coordinate may have different meanings in different scenarios.

Struct Members:
double xThe velocity value in x dimension.
double yThe velocity value in y dimension.
double zThe velocity value in z dimension.
struct DoublePoint3D
struct DoublePoint3D
Declaration:DJI.WindowsSDK
Description:

A class that contains x, y and z in double value, representing a point on a 3D space.

Struct Members:
double xThe x value of the 3D point.
double yThe y value of the 3D point.
double zThe z value of the 3D point.
struct ResultValue
struct ResultValue<T>
Declaration:DJI.WindowsSDK
Description:

A generic class that encapsulates the execution result of a request.

Struct Members:
SDKError errorThe encountered error if any. It is NO_ERROR if the request succeeds.
T valueThe execution result value. It is null if the request fails.
method ~DJISDKManager
~DJISDKManager()
Declaration:DJI.WindowsSDK
Description:

Destructor. It should not be called explicitly.

delegate IntVector2DChangedEventHandler
delegate void IntVector2DChangedEventHandler(object sender, IntVector2D? value)
Declaration:DJI.WindowsSDK
Description:

A delegate type used to subscribe the updated values in type IntVector2D.

delegate LocationCoordinate2DChangedEventHandler
delegate void LocationCoordinate2DChangedEventHandler(object sender, LocationCoordinate2D? value)
Declaration:DJI.WindowsSDK
Description:

A delegate type used to subscribe the updated values in type LocationCoordinate2D.

delegate BoolMsgChangedEventHandler
delegate void BoolMsgChangedEventHandler(object sender, BoolMsg? value)
Declaration:DJI.WindowsSDK
Description:

A delegate type used to subscribe the updated values in type BoolMsg.

delegate StringMsgChangedEventHandler
delegate void StringMsgChangedEventHandler(object sender, StringMsg? value)
Declaration:DJI.WindowsSDK
Description:

A delegate type used to subscribe the updated values in type StringMsg.

delegate Velocity3DChangedEventHandler
delegate void Velocity3DChangedEventHandler(object sender, Velocity3D? value)
Declaration:DJI.WindowsSDK
Description:

A delegate type used to subscribe the updated values in type Velocity3D.

delegate DoubleMsgChangedEventHandler
delegate void DoubleMsgChangedEventHandler(object sender, DoubleMsg? value)
Declaration:DJI.WindowsSDK
Description:

A delegate type used to subscribe the updated values in type DoubleMsg.

delegate IntMsgChangedEventHandler
delegate void IntMsgChangedEventHandler(object sender, IntMsg? value)
Declaration:DJI.WindowsSDK
Description:

A delegate type used to subscribe the updated values in type IntMsg.

delegate DoublePoint2DChangedEventHandler
delegate void DoublePoint2DChangedEventHandler(object sender, DoublePoint2D? value)
Declaration:DJI.WindowsSDK
Description:

A delegate type used to subscribe the updated values in type DoublePoint2D.

delegate AttitudeChangedEventHandler
delegate void AttitudeChangedEventHandler(object sender, Attitude? value)
Declaration:DJI.WindowsSDK
Description:

A delegate type used to subscribe the updated values in type Attitude.

delegate SDKRegistrationStateChangedEventHandler
delegate void SDKRegistrationStateChangedEventHandler(SDKRegistrationState state, SDKError errorCode)
Declaration:DJI.WindowsSDK
Description:

Delegate type that use to subscribe the SDK registration state and error code if there is any error.

enum SDKRegistrationState
enum SDKRegistrationState
Declaration:DJI.WindowsSDK
Description:

States related to SDK registration.

Enum Members:
PendingForNetworkThe registration is pending for network connection.
FailedThe registration failed. Check the resultCode for the failure reason.
SucceededThe registration succeeded.
UnknownUnknown.
enum SDKError
enum SDKError
Declaration:DJI.WindowsSDK
Description:

Error codes that represents errors that may occur when using SDK.

Enum Members:
NO_ERRORNo error. This code is returned when a command or a query succeeds.
REQUEST_HANDLER_NOT_FOUNDThe handler for the quest is not not found. One possible reason is that the component is not connected.
REQUEST_NOT_SUPPORTED_BY_HANDLERThe request is not supported by the handler.
REQUEST_TIMEOUTThe request timeouted. Re-try later.
SEND_PACK_FAILURESDK failed to send the data to the DJI product. One possible reason is that the link between SDK and the product is not stable.
DISCONNECTEDThe handler disconnects during the execution.
INVALID_PARAMThe parameter is invalid.
SYSTEM_ERRORInternal system error occurs.
COMMAND_INTERRUPTEDThe command is interrupted.
PARAMETERS_GET_ERRORError occurs when trying to get the data.
PARAMETERS_SET_ERRORError occurs when trying to set the data.
INVALID_RESPONDThe respond data from the firmware is either empty or corrupted.
PARAM_OUT_OF_RANGEThe parameter is out of the valid range.
INVALID_REQUEST_IN_CURRENT_STATEThe request is invalid in the current state.
EXECUTION_FAILEDThe execution is failed.
MISSION_WAYPOINT_NULL_MISSIONThe mission is null.
MISSION_WAYPOINT_MAX_FLIGHT_SPEED_INVALIDThe max flight speed exceeds the valid range.
MISSION_WAYPOINT_REPEAT_TIMES_INVALIDThe repeat times are less than 0.
MISSION_WAYPOINT_COUNT_INVALIDThe waypoint count is less than 2.
MISSION_WAYPOINT_DISCONNECTEDThe waypoint handler is in disconnected state. The request is rejected.
MISSION_WAYPOINT_DOWNLOAD_UNNECESSARYThe local information of the waypoint mission is complete. It is not necessary to download it from the aircraft.
MISSION_WAYPOINT_ALREADY_STARTEDThe waypoint mission is already started.
MISSION_WAYPOINT_CANCELLEDThe request for a waypoint mission is cancelled.
MISSION_WAYPOINT_FAILEDThe waypoint mission execution failed.
MISSION_WAYPOINT_TIMEOUTThe waypoint mission execution timeouted.
MISSION_WAYPOINT_MODE_ERRORThe waypoint mission cannot be executed because of the flight mode error.
MISSION_WAYPOINT_GPS_NOT_READYThe waypoint mission cannot be executed because of invalid GPS location of the aircraft.
MISSION_WAYPOINT_MOTORS_DID_NOT_STARTInternal error 0x07.
MISSION_WAYPOINT_TAKE_OFFInternal error 0x08.
MISSION_WAYPOINT_IS_FLYINGInternal error 0x09.
MISSION_WAYPOINT_NOT_AUTO_MODEInternal error 0x0A.
MISSION_WAYPOINT_MAX_NUMBER_OF_WAYPOINTS_UPLOAD_LIMIT_REACHEDThe number of waypoints exceeded the max count.
MISSION_WAYPOINT_UPLOADING_WAYPOINTThe handler is uploading waypoints.
MISSION_WAYPOINT_KEY_LEVEL_LOWInternal error 0x0D.
MISSION_WAYPOINT_NAVIGATION_MODE_DISABLEDThe ground station mode is not enabled.
MISSION_IOC_TOO_CLOSE_TO_HOME_POINTThe aircraft is too close to the home point.
MISSION_IOC_TYPE_UNKNOWNInvalid IOC type.
MISSION_HOTPOINT_VALUE_INVALIDInvalid parameters.
MISSION_HOTPOINT_LOCATION_INVALIDInvalid location as a hotpoint.
MISSION_HOTPOINT_DIRECTION_UNKNOWNInvalid direction.
MISSION_HOTPOINT_MISSION_PAUSEDThe hotpoint mission is already paused.
MISSION_HOTPOINT_MISSION_NOT_PAUSEDThe hotpoint mission is already resumed.
MISSION_FOLLOW_ME_DISTANCE_TOO_LARGEThe distance between the aircraft and the target is too far.
MISSION_FOLLOW_ME_DISCONNECT_TIME_TOO_LONGThe following targer is lost.
MISSION_FOLLOW_ME_GIMBAL_PITCH_ERRORGimbal's pitch angle is too large.
MISSION_WAYPOINT_ALTITUDE_TOO_HIGHAircraft's altitude is too high.
MISSION_WAYPOINT_ALTITUDE_TOO_LOWAircraft's altitude is too low.
MISSION_WAYPOINT_MISSION_RADIUS_INVALIDInvalid surrounding radius.
MISSION_WAYPOINT_MISSION_SPEED_TOO_HIGHThe circular velocity is too large.
MISSION_WAYPOINT_MISSION_ENTRY_POINT_INVALIDEntry point invalid.
MISSION_WAYPOINT_MISSION_HEADING_MODE_INVALIDThe waypoint has invalid heading.
MISSION_WAYPOINT_MISSION_RESUME_FAILEDFailed to resume the mission, because the aircraft is far away from the mission.
MISSION_WAYPOINT_MISSION_RADIUS_OVER_LIMITOver max flight radius.
MISSION_WAYPOINT_NAVIGATION_MODE_NOT_SUPPORTEDWaypoint mission is not supported by the aircraft.
MISSION_WAYPOINT_DISTANCE_FROM_MISSION_TARGET_TOO_LONGMission start point is too far away from the aircraft's current location.
MISSION_WAYPOINT_IN_NOVICE_MODEThe novice mode is enabled.
MISSION_WAYPOINT_MULTI_MODE_IS_OFFThe multiple mode is disabled.
MISSION_WAYPOINT_RTK_IS_NOT_READYRTK is not ready.
MISSION_WAYPOINT_RC_MODE_ERRORRC mode error.
MISSION_WAYPOINT_AIRCRAFT_IN_NO_FLY_ZONEThe aircraft is inside a no fly-zone.
MISSION_WAYPOINT_IOC_WORKINGThe aircraft is in IOC mode.
MISSION_WAYPOINT_MISSION_NOT_INITIALIZEDAircraft's mission is not initialized.
MISSION_WAYPOINT_MISSION_NOT_EXISTNo mission is running.
MISSION_WAYPOINT_MISSION_CONFLICTOther mission is running.
MISSION_WAYPOINT_MISSION_ESTIMATE_TIME_TOO_LONGMission will consume too much time.
MISSION_WAYPOINT_HIGH_PRIORITY_MISSION_EXECUTINGHigh priority mission is running.
MISSION_WAYPOINT_GPS_SIGNAL_WEAKThe GPS signal is weak.
MISSION_WAYPOINT_LOW_BATTERYThe remaining charge is too low.
MISSION_WAYPOINT_AIRCRAFT_NOT_IN_THE_AIRThe aircraft is not in the air. Takeoff first.
MISSION_WAYPOINT_MISSION_PARAMETERS_INVALIDInvalid parameters.
MISSION_WAYPOINT_MISSION_CONDITION_NOT_SATISFIEDThe waypoint mission request cannot be executed.
MISSION_WAYPOINT_MISSION_ACROSS_NO_FLY_ZONEThe waypoint mission is invalid because it will cross a no fly-zone.
MISSION_WAYPOINT_HOME_POINT_NOT_RECORDEDThe home point location is not refreshed.
MISSION_WAYPOINT_WAYPOINT_NOT_RUNNINGNo waypoint mission is being executed.
MISSION_WAYPOINT_MISSION_INFO_INVALIDInvalid parameters in waypoint mission.
MISSION_WAYPOINT_WAYPOINT_INFO_INVALIDInvalid parameters in waypoints.
MISSION_WAYPOINT_WAYPOINT_TRACE_TOO_LONGThe total distance of waypoints is too large.
MISSION_WAYPOINT_WAYPOINT_TOTAL_TRACE_TOO_LONGThe total distance of the waypoint mission is too large.
MISSION_WAYPOINT_WAYPOINT_INDEX_OVER_RANGEWaypoint index error.
MISSION_WAYPOINT_WAYPOINT_DISTANCE_TOO_CLOSEThe distance of two adjacent waypoints is too close.
MISSION_WAYPOINT_WAYPOINT_DISTANCE_TOO_LONGThe distance of two adjacent waypoints is too large.
MISSION_WAYPOINT_WAYPOINT_INVALID_CORNER_RADIUSThe corner radius is invalid.
MISSION_WAYPOINT_WAYPOINT_ACTION_PARAMETER_INVALIDThe waypoint mission action parameter is invalid.
MISSION_WAYPOINT_WAYPOINT_MISSION_INFO_NOT_UPLOADEDThe waypoint mission summary is not uploaded.
MISSION_WAYPOINT_WAYPOINT_UPLOAD_NOT_COMPLETEThe waypoint mission is not uploaded completely.
MISSION_WAYPOINT_WAYPOINT_REQUEST_IS_RUNNINGInternal error 0xED.
MISSION_WAYPOINT_WAYPOINT_IDLE_VELOCITY_INVALIDInternal error 0xEE.
MISSION_WAYPOINT_AIRCRAFT_TAKING_OFFThe aircraft is already taking off.
MISSION_WAYPOINT_AIRCRAFT_LANDINGThe aircraft is already landing.
MISSION_WAYPOINT_AIRCRAFT_GOING_HOMEThe aircraft is already going home.
MISSION_WAYPOINT_AIRCRAFT_STARTING_MOTORThe aircraft is already tring to start the motors.
MISSION_WAYPOINT_WRONG_CMDThe command ID is wrong.
MISSION_WAYPOINT_MISSION_ID_INVALIDThe mission ID is invalid.
FLY_SAFE_LOCAL_USER_TOKEN_INVALIDThe user token is invalid.
FLY_SAFE_NETWORK_INVALIDThe network is not reachable.
FLY_SAFE_SERVER_DATA_ERRORInvalid data from the server.
FLY_SAFE_SIGNATURE_ERRORSignature error.
FLY_SAFE_CHECK_SIGNATURE_ERRORSignature error.
FLY_SAFE_INVALID_REQUESTThe request is invalid.
FLY_SAFE_PAGE_NOT_FOUNDReceived 404 respond.
FLY_SAFE_USER_IS_NOT_LOGINThe user is not logged in yet.
FLY_SAFE_PACK_MANAGER_TIMEOUTThe communication between the aircraft and SDK timeouted.
FLY_SAFE_PACK_MANAGER_WRONG_UNLOCK_VERSIONUnlock version mismatches.
FLY_SAFE_PACK_MANAGER_WRONG_DEVICE_IDDevice ID mismatches.
FLY_SAFE_WRONG_SERIAL_NUMBERSerial number mismatches.
FLY_SAFE_FILE_ERRORThe database file may be corrupted.
FLY_SAFE_DB_INVALID_PARAMSPassed invalid database query arguments.
FLY_SAFE_DB_NOT_VALIDThe database is invalid.
FLY_SAFE_INVALID_AREA_IDSThe area ID is invalid.
FLY_SAFE_FC_QUERY_FAILEDThe query failed.
FLY_SAFE_FC_OP_SET_ENABLE_FAILEDFailed to enable the license.
FLY_SAFE_LICENSE_ENABLE_USER_ID_ERRORCannot enable the license because of user ID error.
FLY_SAFE_LICENSE_NOT_EXISTThe license does not exist.
FLY_SAFE_NO_LICENSE_DATAThe license does not contain data.
FLY_SAFE_LOW_FIRMWARE_VERSION_ERRORThe firmware version is too old.
FLY_SAFE_UNLOCK_VERSION_ERRORUnlock version error.
FLY_SAFE_OLD_LICENSE_DATA_ERRORThe license is out-of-date.
FLY_SAFE_INVALID_KEY_VERSIONKey version error.
FLY_SAFE_NO_LICENSE_IDThe license ID does not exist.
FLY_SAFE_SERVER_INVALID_TOKENUsed invalid token.
FLY_SAFE_SERVER_UNIDENTIFIED_PHONEThe phone number is not identified by the server.
FLY_SAFE_SERVER_NOT_UNLOCKABLE_AREAThe area cannot be unlocked.
FLY_SAFE_SERVER_UNLOCK_TO_MANY_AREASThe request is rejected by the server because the user is trying to unlock too many areas at the same time.
FLY_SAFE_SERVER_TOO_MANY_LICENSESThe request is rejected by the server because there are too many licenses.
FLY_SAFE_SERVER_JSON_DATA_PARSE_ERRORThe server failed to parse the JSON data.
SDK_REGISTRATION_COULD_NOT_CONNECT_TO_INTERNETThe application is not able to connect to the Internet the first time it tries to register the key.
SDK_REGISTRATION_INVALID_SDK_KEYThe application key you provided is incorrect.
SDK_REGISTRATION_HTTP_TIMEOUTThe network you are trying to reach is busy, or the server is unreachable.
SDK_REGISTRATION_DEVICE_DOES_NOT_MATCHThe attempt to copy data from another registered device to a device that is currently connected is not permitted.
SDK_REGISTRATION_PACKAGE_ID_DOES_NOT_MATCHThe package ID of your application does not match the one you registered on the developer website when you applied to obtain an application key.
SDK_REGISTRATION_SDK_KEY_PROHIBITEDThe application key is prohibited. This occurs when an application key taht has already been released by DJI is revoked.
SDK_REGISTRATION_MAX_REGISTRATION_COUNT_REACHEDDeprecated.
SDK_REGISTRATION_SDK_KEY_INVALID_PLATFORMThis error occurs when an application key was given for a specific platform and is trying to be used to activate an application for another platform.
SDK_REGISTRATION_SDK_KEY_DOES_NOT_EXISTThe application key does not exist. Please make sure the application key is correct.
SDK_REGISTRATION_SDK_KEY_LEVEL_NOT_PERMITTEDDeprecated.
SDK_REGISTRATION_SERVER_PARSE_FAILUREThe server failed to parse the request data.
SDK_REGISTRATION_SERVER_WRITE_ERRORWrite error occurs in the server.
SDK_REGISTRATION_SERVER_DATA_ABNORMALThe data returned by the server is abnormal.
SDK_REGISTRATION_INVALID_META_DATAThe respond for the REGISTRATION is in invalid format.
SDK_REGISTRATION_EMPTY_SDK_KEYThe APP key is empty.
SDK_REGISTRATION_VERSION_NOT_ACCESSIBLEThe SDK version is not accessible with the APP key.
SDK_REGISTRATION_OVER_MAX_REGISTRATION_COUNTApplications under basic develop account could only have the maximum 20 unqiue REGISTRATIONs. Visit DJI Developer Center to upgrade the membership.
ACCOUNT_MANAGER_AUTHROIZED_FAILEDAuthorization failed during login.
ACCOUNT_MANAGER_NETWORK_REQUEST_ERRORThe network request encountered errors.
PLACEHOLDERPlaceholder for errors that not handled by SDK.
UNKNOWNUnknown error.
event SDKRegistrationStateChanged
event SDKRegistrationStateChangedEventHandler SDKRegistrationStateChanged
Declaration:DJI.WindowsSDK
Description:

Subscribe the event to receive the change of SDK registration state.

Property
property
property Instance
static DJISDKManager Instance { get; }
Declaration:DJI.WindowsSDK
Description:

The single instance of DJISDKManager. Use it as entry for all features of SDK. This class is accessible before SDK registration.

See Also:

DJISDKManager, Instance

property
property SDKVersion
static string SDKVersion { get; }
Declaration:DJI.WindowsSDK
Description:

Gets the DJI Windows SDK version. Returns SDK version as a string.

See Also:

SDKVersion

property
property VideoFeeder
VideoFeeder VideoFeeder { get; }
Declaration:DJI.WindowsSDK
Description:

Accesses to the video feeder, which provides the video feeds.

property ComponentManager
ComponentManager ComponentManager { get; }
Declaration:DJI.WindowsSDK
Description:

Accesses to the component manager, which is the entry of different components (flight controllers, cameras, etc.).

property VirtualRemoteController
VirtualRemoteController VirtualRemoteController { get; }
Declaration:DJI.WindowsSDK
Description:

Accesses to the virtual remote controller. It is used to control the aircraft's attitude when SDK is connected to the aircraft through WiFi without any physical remote controller.

property FlyZoneManager
FlyZoneManager FlyZoneManager { get; }
Declaration:DJI.WindowsSDK
Description:

Accesses to the fly-zone manager. It is the entry of functionality related to DJI's GEO system.

property UserAccountManager
UserAccountManager UserAccountManager { get; }
Declaration:DJI.WindowsSDK
Description:

Accesses to the user account manager. Login is required to access some features in fly-zone.

property WaypointMissionManager
WaypointMissionManager WaypointMissionManager { get; }
Declaration:DJI.WindowsSDK
Description:

Accesses to the waypoint mission manager.

SDK Registration
method
method RegisterApp
void RegisterApp(string key)
Declaration:DJI.WindowsSDK
Description:

The first time the app is initialized after installation, the app connects to a DJI Server through the internet to verify the Application Key. The request will include the following information:

  • App key
  • Package ID
  • System platform, version and name
  • UUID generated by platform's API (EasClientDeviceInformation.Id)
  • System version Subsequent app starts will use locally cached verification information to register the app when the cached information is still valid.
Input Parameters:
string keyThe key used to register SDK for the application. This can be applied in DJI Develop Center.
property SDKRegistrationResultCode
SDKError SDKRegistrationResultCode { get; }
Declaration:DJI.WindowsSDK
Description:

Determines if SDK is registered. This is the pre-condition of using most of the features in SDK.

See Also:

SDKError, SDKRegistrationResultCode

method EnableDebugLogSystem
bool EnableDebugLogSystem()
Declaration:DJI.WindowsSDK
Description:

Enables the debug log system. It will enable the DJI Windows SDK to collect logs that are related to the SDK's internal logic. These logs can be used to help diagnose SDK bugs. The debug log system is disabled by default. The developer can call this method in each life cycle of the application to enable the log system. The logs will be saved to directory named logs. The logs are under the application's local folder.

Return:
boolReturn true if SDK has been registered.
method DisableDebugLogSystem
bool DisableDebugLogSystem()
Declaration:DJI.WindowsSDK
Description:

Disables the debug log system.

Return:
boolReturn true if SDK has been registered.
AppActivation
enum
enum AppActivationState
enum AppActivationState
Declaration:DJI.WindowsSDK
Description:

The App Activation state.

Enum Members:
NOT_SUPPORTEDThe aircraft's firmware does not support the App Activation System.
LOGIN_REQUIREDThe application needs to be activated by the user through their DJI account. Use UserAccountManager to enable the user to log in. Log in is only required if the aircraft is located in China.
ACTIVATEDThe application is activated and flight restrictions turned off.
UNKNOWNEither the aircraft is disconnected or the connected product is not a DJI aircraft.
enum AircraftBindingState
enum AircraftBindingState
Declaration:DJI.WindowsSDK
Description:

The aircraft's binding state.

Enum Members:
INITIALThe binding state of the aircraft is not yet determined. The aircraft will only be in this state until DJI Go or a DJI Mobile SDK based application rights the binding information to the aircraft. Binding is only required if the user is in China. If the user is not in China, then this state will become NOT_REQUIRED after the country code check is complete. In this state, the aircraft will have the 30m height and 50m radius limitation.
UNBOUNDThe aircraft is not currently bound, and needs to be (as it is in China). In this state, the aircraft will have 30m max flight height and 50m max flight distance limitation. User should finish the one-off binding process with DJI Go to remove the flight limitation.
UNBOUND_BUT_CANNOT_SYNCThe aircraft is flying inside China and is unbound. The aircraft can be bound using DJI Go. If DJI Go is connected to the aircraft, then the binding will be stored in the aircraft. If DJI Go is not connected to the aircraft during the binding process, then the binding result will be stored on a server. The SDK can query this server to see if the binding has already happened, and if it has, download the binding to the aircraft. However, if the aircraft is unbound, and the server is not reachable, then this state will be presented. The user should connect the mobile device to the Internet to refresh this state.
BOUNDThe aircraft is bound.
NOT_SUPORTEDThe aircraft's firmware does not support the App Activation system.
UNKNOWNEither the aircraft is disconnected or the connected product is not a DJI aircraft.
NOT_REQUIREDThe aircraft is not bound but it is not currently located in China. Therefore, binding the aircraft is not required.
property appActivationState
AppActivationState appActivationState { get; }
Declaration:DJI.WindowsSDK
Description:

Current App Activation state.

See Also:

AppActivationState, appActivationState

property aircraftBindindState
AircraftBindingState aircraftBindindState { get; }
Declaration:DJI.WindowsSDK
Description:

Current Aircraft binding state.

See Also:

AircraftBindingState, aircraftBindindState

delegate AppActivationStateChangedEventHandler
delegate void AppActivationStateChangedEventHandler(AppActivationState state)
Declaration:DJI.WindowsSDK
Description:

Delegate type that use to subscribe the App Activation state.

delegate AircraftBindingStateChangedEventHandler
delegate void AircraftBindingStateChangedEventHandler(AircraftBindingState state)
Declaration:DJI.WindowsSDK
Description:

Delegate type that use to subscribe the aircraft binding state.

event AppActivationStateChanged
event AppActivationStateChangedEventHandler AppActivationStateChanged
Declaration:DJI.WindowsSDK
Description:

Subscribe the event to receive the change of App ActivationState state.

event AircraftBindingStateChanged
event AircraftBindingStateChangedEventHandler AircraftBindingStateChanged
Declaration:DJI.WindowsSDK
Description:

Subscribe the event to receive the change of Aircraft Binding State state.