After a successful connection to the aircraft meaning this
BaseProduct baseProduct = DJISDKManager.getInstance().getProduct();
Aircraft aircraft;
if (baseProduct == null || !baseProduct.isConnected() ||
!(baseProduct instanceof Aircraft)
|| baseProduct.getModel() == Model.UNKNOWN_AIRCRAFT) {
aircraft = null
}
else {
aircraft = (Aircraft)baseProduct;
}
if(aircraft!=null){
aircraft.getBattery(); // returns null
aircraft.getBatteries(); // returns null
aircraft.getBatteryBox(); // returns null
}
I always receive aircraft.getBattery()
or aircraft.getBatteries()
or aircraft.getBatteryBox()
null.
P.S. Device model is Matrice 600 pro, and I can print the device model when the aircraft is connected (it is truly connected).
Android use: Battery.setAggregationStateCallback.
and,IOS use: DJIBattery.aggregationDelegate = self;