DJI Mobile SDK 4.0.2 to 4.1 Differences


API changes

4.0.2 Parent and Name4.0.2 Code4.1 Parent and Name4.1 CodeParentNameTypeParamReturn
dji.sdk.flightcontroller.FlightController.setMaxFlightRadiusvoid setMaxFlightRadius(@FloatRange(from = 15.0, to = 500.0) float maxRadius, @Nullable final CompletionCallback callback) dji.sdk.flightcontroller.FlightController.setMaxFlightRadiusvoid setMaxFlightRadius(@FloatRange(from = 15.0, to = 8000.0) float maxRadius, @Nullable final CompletionCallback callback) X
dji.common.error.DJIGeoError.ACCOUNT_NOT_LOG_IN_OR_NOT_AUTHORIZEDstatic final DJIGeoError ACCOUNT_NOT_LOG_IN_OR_NOT_AUTHORIZED = new DJIGeoError("No logged in account or account did not get authorization.")dji.common.error.DJIGeoError.ACCOUNT_NOT_LOGGED_IN_OR_NOT_AUTHORIZEDstatic final DJIGeoError ACCOUNT_NOT_LOGGED_IN_OR_NOT_AUTHORIZED = new DJIGeoError("No logged in account or account did not get authorization.")X
dji.common.battery.BatteryState.getTemperatureint getTemperature() dji.common.battery.BatteryState.getTemperaturefloat getTemperature() X
dji.sdk.flightcontroller.FlyZoneManager.getUnlockedFlyZonesvoid getUnlockedFlyZones(@NonNull final CompletionCallbackWith<ArrayList<FlyZoneInformation>> callback) dji.sdk.flightcontroller.FlyZoneManager.getUnlockedFlyZonesvoid getUnlockedFlyZones(@NonNull final CompletionCallbackWith<List<FlyZoneInformation>> callback) X
dji.common.airlink.WiFiFrequencyBand.FREQUENCY_BAND_2_DOT_4_GHZ FREQUENCY_BAND_2_DOT_4_GHZ(0)dji.common.airlink.WiFiFrequencyBand.FREQUENCY_BAND_ONLY_2_DOT_4 FREQUENCY_BAND_ONLY_2_DOT_4(-1)X
dji.common.error.DJIError.COMMON_UNKNOWNstatic final DJIError COMMON_UNKNOWN = new DJIError("Server error, please contact <dev@dji.com> for help.")dji.common.error.COMMON_UNKNOWNstatic final DJIError COMMON_UNKNOWN = new DJIError("Server error, please contact <dev@dji.com> for help.")X
dji.common.error.DJIError.COMMON_EXECUTION_FAILEDstatic final DJIError COMMON_EXECUTION_FAILED = new DJIError("The execution could not be executed.")dji.common.error.DJIError.CANNOT_PAUSE_STABILIZATIONstatic final DJIError CANNOT_PAUSE_STABILIZATION = new DJIError("Can't pause stabilization.")X
dji.sdk.base.BaseProduct.getBatteriesList<Battery> getBatteries() dji.sdk.base.BaseProduct.getBatteriessynchronized List<Battery> getBatteries() X
dji.common.mission.waypoint.WaypointAction.WaypointActionWaypointAction(WaypointActionType actionType, @IntRange(from = 0, to = Short.MAX_VALUE) int actionParam) dji.common.mission.waypoint.WaypointAction.WaypointActionWaypointAction(WaypointActionType actionType, int actionParam) X

APIs removed from 4.0.2

Parent and NameCode
dji.common.flightcontroller.UserAccountStateenum UserAccountState
dji.common.flightcontroller.UserAccountState.INVALID_TOKEN INVALID_TOKEN(0x4)
dji.common.flightcontroller.UserAccountState.AUTHORIZED AUTHORIZED(0x02)
dji.common.flightcontroller.UserAccountState.NOT_AUTHORIZED NOT_AUTHORIZED(0x01)
dji.common.flightcontroller.UserAccountState.NOT_LOGGED_IN NOT_LOGGED_IN(0x00)
dji.common.flightcontroller.UserAccountState.TOKEN_OUT_OF_DATE TOKEN_OUT_OF_DATE(0x03)
dji.common.flightcontroller.UserAccountState.UNKNOWN UNKNOWN(0xFF)
dji.sdk.flightcontroller.FlyZoneManager.getUserAccountStateUserAccountState getUserAccountState()
dji.sdk.flightcontroller.FlyZoneManager.logIntoDJIUserAccountvoid logIntoDJIUserAccount(@NonNull Context context, @Nullable final CompletionCallbackWith<UserAccountState> callback)
dji.sdk.flightcontroller.FlyZoneManager.logoutOfDJIUserAccountvoid logoutOfDJIUserAccount(@Nullable CompletionCallback callback)
dji.sdk.flightcontroller.FlyZoneManager.getLoggedInDJIUserAccountNamevoid getLoggedInDJIUserAccountName(@NonNull final CompletionCallbackWith<String> callback)

APIs added to 4.1

Parent and NameCode
dji.common.flightcontroller.adsb.AirSenseAirplaneStateclass AirSenseAirplaneState
dji.common.flightcontroller.adsb.AirSenseAirplaneState.onUpdatevoid onUpdate(@NonNull AirSenseAirplaneState[] information)
dji.common.flightcontroller.adsb.AirSenseAirplaneState.Callbackinterface Callback
dji.common.flightcontroller.adsb.AirSenseAirplaneState.getCodeString getCode()
dji.common.flightcontroller.adsb.AirSenseAirplaneState.getDistanceint getDistance()
dji.common.flightcontroller.adsb.AirSenseAirplaneState.getHeadingfloat getHeading()
dji.common.flightcontroller.adsb.AirSenseAirplaneState.getRelativeDirectionAirSenseDirection getRelativeDirection()
dji.common.flightcontroller.adsb.AirSenseAirplaneState.getWarningLevelAirSenseWarningLevel getWarningLevel()
dji.common.flightcontroller.adsb.AirSenseDirectionenum AirSenseDirection
dji.common.flightcontroller.adsb.AirSenseDirection.EAST EAST
dji.common.flightcontroller.adsb.AirSenseDirection.NORTH NORTH
dji.common.flightcontroller.adsb.AirSenseDirection.NORTH_EAST NORTH_EAST
dji.common.flightcontroller.adsb.AirSenseDirection.NORTH_WEST NORTH_WEST
dji.common.flightcontroller.adsb.AirSenseDirection.SOUTH SOUTH
dji.common.flightcontroller.adsb.AirSenseDirection.SOUTH_EAST SOUTH_EAST
dji.common.flightcontroller.adsb.AirSenseDirection.SOUTH_WEST SOUTH_WEST
dji.common.flightcontroller.adsb.AirSenseDirection.UNKNOWN UNKNOWN
dji.common.flightcontroller.adsb.AirSenseDirection.WEST WEST
dji.common.flightcontroller.adsb.AirSenseSystemInformationclass AirSenseSystemInformation
dji.common.flightcontroller.adsb.AirSenseSystemInformation.getAirplaneStatesAirSenseAirplaneState[] getAirplaneStates()
dji.common.flightcontroller.adsb.AirSenseSystemInformation.Callbackinterface Callback
dji.common.flightcontroller.adsb.AirSenseSystemInformation.onUpdate void onUpdate(@NonNull AirSenseSystemInformation information)
dji.common.flightcontroller.adsb.AirSenseSystemInformation.getWarningLevelAirSenseWarningLevel getWarningLevel()
dji.common.flightcontroller.adsb.AirSenseWarningLevelenum AirSenseWarningLevel
dji.common.flightcontroller.adsb.AirSenseWarningLevel.LEVEL_0 LEVEL_0(DJIWarningType.None)
dji.common.flightcontroller.adsb.AirSenseWarningLevel.LEVEL_1 LEVEL_1(DJIWarningType.First)
dji.common.flightcontroller.adsb.AirSenseWarningLevel.LEVEL_2 LEVEL_2(DJIWarningType.Second)
dji.common.flightcontroller.adsb.AirSenseWarningLevel.LEVEL_3 LEVEL_3(DJIWarningType.Three)
dji.common.flightcontroller.adsb.AirSenseWarningLevel.LEVEL_4 LEVEL_4(DJIWarningType.Four)
dji.common.flightcontroller.adsb.AirSenseWarningLevel.UNKNOWN UNKNOWN(DJIWarningType.OTHER)
dji.common.product.Model.M200 M200("M200")
dji.common.product.Model.PHANTOM_4_ADVANCED PHANTOM_4_ADVANCED("Phantom 4 Advanced")
dji.sdk.realname.AppActivationManagerclass AppActivationManager
dji.common.realname.AircraftBindingState.AircraftBindingStateListenerinterface AircraftBindingStateListener
dji.common.realname.AircraftBindingState.onUpdatevoid onUpdate(AircraftBindingState state)
dji.common.realname.AppActivationState.AppActivationStateListenerinterface AppActivationStateListener
dji.common.realname.AppActivationState.onUpdate void onUpdate(AppActivationState state)
dji.common.realname.AircraftBindingStateenum AircraftBindingState
dji.common.realname.AircraftBindingState.BOUND BOUND(1)
dji.common.realname.AircraftBindingState.INITIAL INITIAL(2)
dji.common.realname.AircraftBindingState.NOT_REQUIRED NOT_REQUIRED(0)
dji.common.realname.AircraftBindingState.NOT_SUPPORTED NOT_SUPPORTED(3)
dji.common.realname.AircraftBindingState.UNBOUND UNBOUND(-2)
dji.common.realname.AircraftBindingState.UN_BOUND_CANNOT_SYNC UN_BOUND_CANNOT_SYNC(-3)
dji.common.realname.AircraftBindingState.UNKNOWN UNKNOWN(255)
dji.common.realname.AppActivationStateenum AppActivationState
dji.common.realname.AppActivationState.ACTIVATED ACTIVATED
dji.common.realname.AppActivationState.LOGIN_REQUIRED LOGIN_REQUIRED
dji.common.realname.AppActivationState.NOT_SUPPORTED NOT_SUPPORTED
dji.common.realname.AppActivationState.UNKNOWN UNKNOWN
dji.sdk.realname.AppActivationManager.addAircraftBindingStateListenervoid addAircraftBindingStateListener(@NonNull AircraftBindingStateListener listener)
dji.sdk.realname.AppActivationManager.getAircraftBindingStateAircraftBindingState getAircraftBindingState()
dji.sdk.realname.AppActivationManager.getAppActivationStateAppActivationState getAppActivationState()
dji.sdk.camera.Camera.getVisionStablizationEnabledvoid getVisionStablizationEnabled(@Nullable final CompletionCallbackWith<Boolean> callback)
dji.sdk.camera.Camera.setVisionStablizationEnabledvoid setVisionStablizationEnabled(final boolean enable, @Nullable final CompletionCallback callback)
dji.sdk.camera.Camera.DisplaynamePhantom4AdvancedCamerastatic final String DisplaynamePhantom4AdvancedCamera = DJICameraAbstraction.DisplaynamePhantom4AdvancedCamera
dji.sdk.codec.DJICodecManager.sendDataToDecodervoid sendDataToDecoder(byte[] videoBuffer, int size,int source)
dji.common.error.DJIFlightControllerError.GO_HOME_ALTITUDE_HIGHER_THAN_MAX_FLIGHT_HEIGHTstatic final DJIFlightControllerError GO_HOME_ALTITUDE_HIGHER_THAN_MAX_FLIGHT_HEIGHT = new DJIFlightControllerError("The go home altitude is too high (higher than max flight height).")
dji.sdk.flightcontroller.FlightController.setASBInformationCallbackvoid setASBInformationCallback(@Nullable AirSenseSystemInformation.Callback callback)
dji.common.flightcontroller.flyzone.FlyZoneInformation.getUnlockingEnabledvoid getUnlockingEnabled(final CompletionCallbackWith<Boolean> callback)
dji.common.flightcontroller.flyzone.FlyZoneInformation.setUnlockingEnabledvoid setUnlockingEnabled(boolean enabled, CompletionCallback callback)
dji.common.flightcontroller.flyzone.IndividualUnlockZoneclass IndividualUnlockZone
dji.common.flightcontroller.flyzone.IndividualUnlockZone.getIDint getID()
dji.common.flightcontroller.flyzone.IndividualUnlockZone.getCenterLocationCoordinate2D getCenter()
dji.common.flightcontroller.flyzone.IndividualUnlockZone.getEndTimeString getEndTime()
dji.common.flightcontroller.flyzone.IndividualUnlockZone.isExpiredboolean isExpired()
dji.common.flightcontroller.flyzone.IndividualUnlockZone.getNameString getName()
dji.common.flightcontroller.flyzone.IndividualUnlockZone.getRadiusfloat getRadius()
dji.common.flightcontroller.flyzone.IndividualUnlockZone.getStartTimeString getStartTime()
dji.sdk.flightcontroller.FlyZoneManager.enableIndividualUnlockZonevoid enableIndividualUnlockZone(@Nullable IndividualUnlockZone zone, @Nullable final CompletionCallback callback)
dji.sdk.flightcontroller.FlyZoneManager.getEnabledIndividualUnlockZonevoid getEnabledIndividualUnlockZone(@NonNull final CompletionCallbackWith<IndividualUnlockZone> callback)
dji.sdk.flightcontroller.FlyZoneManager.getIndividualUnlockZonesvoid getIndividualUnlockZones(final CompletionCallbackWith<List<IndividualUnlockZone>> callback)
dji.sdk.flightcontroller.FlyZoneManager.isIndividualUnlockZoneSupportedboolean isIndividualUnlockZoneSupported()
dji.sdk.flightcontroller.FlyZoneManager.loadIndividualUnlockZonesFromServervoid loadIndividualUnlockZonesFromServer(final CompletionCallback callback)
dji.sdk.camera.MediaFile.getTimeCreatedlong getTimeCreated()
dji.sdk.sdkmanager.DJISDKManager.getAppActivationManagerAppActivationManager getAppActivationManager()
dji.sdk.useraccount.UserAccountManagerclass UserAccountManager implements LoginVerifyController.OnStatusChangeListener
dji.common.useraccount.UserAccountStateenum UserAccountState
dji.common.useraccount.UserAccountState.AUTHORIZED AUTHORIZED(0x02)
dji.common.useraccount.UserAccountState.INVALID_TOKEN INVALID_TOKEN(0x4)
dji.common.useraccount.UserAccountState.NOT_AUTHORIZED NOT_AUTHORIZED(0x01)
dji.common.useraccount.UserAccountState.NOT_LOGGED_IN NOT_LOGGED_IN(0x00)
dji.common.useraccount.UserAccountState.TOKEN_OUT_OF_DATE TOKEN_OUT_OF_DATE(0x03)
dji.common.useraccount.UserAccountState.UNKNOWN UNKNOWN(0xFF)
dji.sdk.useraccount.UserAccountManager.getUserAccountStateUserAccountState getUserAccountState()
dji.sdk.useraccount.UserAccountManager.logIntoDJIUserAccountvoid logIntoDJIUserAccount(@NonNull Context context, @Nullable final CommonCallbacks.CompletionCallbackWith<UserAccountState> callback)
dji.sdk.useraccount.UserAccountManager.logoutOfDJIUserAccountvoid logoutOfDJIUserAccount(@Nullable CommonCallbacks.CompletionCallback callback)
dji.sdk.useraccount.UserAccountManager.getLoggedInDJIUserAccountNamevoid getLoggedInDJIUserAccountName(@NonNull final CommonCallbacks.CompletionCallbackWith<String> callback)
dji.sdk.realname.AppActivationManager.addAppActivationStateListenervoid addAppActivationStateListener(@NonNull AppActivationStateListener listener)