Comments

9 comments

  • DJI Developer Support
    请问您用的什么型号的飞机。对于电池,有两种单电池和多电池,MSDK均有对应获取信息的方法: 单电池: https://developer.dji.com/api-reference/android-api/Components/Battery/DJIBattery_BatteryState.html 多电池: https://developer.dji.com/api-reference/android-api/Components/Battery/DJIBattery_AggregationState.html getBattery()只能返回单电池的状态,多电池用getBatteries()获取每一块电池的信息,使用AggregationState获取多电池整体的信息。
    0
    Comment actions Permalink
  • 虞青

    getProductInstance()?.battery?.numberOfCells是这个么?返回0.0,没有返回电量

    0
    Comment actions Permalink
  • songxiao

    使用M300 获取电池电量调用的是多电池的API代码如下:

    Battery.setAggregationStateCallback(aggregationState -> {
    int battery = aggregationState.getChargeRemainingInPercent();
    });

    但是获取不到电量数据。

    0
    Comment actions Permalink
  • DJI Developer Support
    您的这个代码写的有问题,请参考下面的代码: Battery.setAggregationStateCallback(new AggregationState.Callback() { @Override public void onUpdate(AggregationState aggregationState) { ToastUtils.setResultToToast(Integer.toString(aggregationState.getChargeRemainingInPercent())); } });
    0
    Comment actions Permalink
  • DJI Developer Support
    getProductInstance()?.battery?.numberOfCells是这个么?返回0.0,没有返回电量 ---------------------------------------------------------------------- 请问您的飞机型号是什么
    0
    Comment actions Permalink
  • 虞青

    御2 zoom

    0
    Comment actions Permalink
  • songxiao

    使用M300无人机,已经将代码改为您提供的示例代码

    Battery.setAggregationStateCallback(new AggregationState.Callback() {
    @Override
    public void onUpdate(AggregationState aggregationState) {
    int battery = aggregationState.getChargeRemainingInPercent();
    }
    });

    调试程序发现不回调onUpdate方法,另外使用BaseProduct的getBatteries方法获取到的是null

    1
    Comment actions Permalink
  • DJI Developer Support
    御2 zoom,获取电池电量可以参考我们的示例代码:https://github.com/dji-sdk/Mobile-SDK-Android/blob/master/Sample%20Code/app/src/main/java/com/dji/sdk/sample/demo/battery/PushBatteryDataView.java 电池的基本信息获取,这个示例代码都有提供。
    0
    Comment actions Permalink
  • DJI Developer Support
    songxiao:使用M300无人机,已经将代码改为您提供的示例代码 Battery.setAggregationStateCallback(new AggregationState.Callback() { @Override public void onUpdate(AggregationState aggregationState) { int battery = aggregationState.getChargeRemainingInPercent(); } }); 调试程序发现不回调onUpdate方法,另外使用BaseProduct的getBatteries方法获取到的是null ------------------------------------------------------------------------------------- 您好,我们这边测试getBatteries方法是能够获取电池list的,建议您这边检查一下电池的固件版本是不是最新。而且电池信息只有在飞机上电后一段时间(需要初始化)才能获取,您可以通过onComponentChange监听电池设备是否连接上。确认电池连接上之后再获取电池对象。
    0
    Comment actions Permalink

Please sign in to leave a comment.