Как извлечь данные EXTRA_PARAMETER во время события PARAMETER_RECEIVED?

Используя Dronekit Android, я слушаю события в onDroneEvent. Одним из таких событий является AttributeEvent.PARAMETER_RECEIVED

Я могу получить другие атрибуты, такие как ориентация, батарея, сигнал rssi и т. Д. Просто не знаю, как получить доступ к параметрам, отправленным с дрона после подключения.

public void onDroneEvent(String event, Bundle extras) {
        switch (event) {
            case AttributeEvent.PARAMETER_RECEIVED:
                //Grab extra parameter data
                //possibly using AttributeEventExtra.EXTRA_PARAMETER_NAME
                // AttributeEventExtra.EXTRA_PARAMETER_INDEX
                // AttributeEventExtra.EXTRA_PARAMETER_VALUE
                break;
. . . removed extraneous code . . .

Любые указатели будут оценены.

1 ответ

Вы можете посмотреть, как это делается, на экране параметров в Tower для справки.

Как правило, параметры от дрона отправляются после подключения или после явного вызова VehicleApi # refreshParameters ().

Чтобы отслеживать, когда они обновляются, вы можете прослушивать события PARAMETERS_REFRESH_STARTED и PARAMETERS_REFRESH_COMPLETED. Между этими двумя событиями также будет отправлено несколько событий PARAMETER_RECEIVED для каждого обновленного параметра.

Вы также можете получить доступ к последнему полученному набору параметров, используя:

Parameters parameters = drone.getAttribute(AttributeType.PARAMETERS);

Другие вопросы по тегам