# Урок 8. Взаимодействие с другими приложениями и функциями телефона



## Анимация <a href="#animation" id="animation"></a>

[AnimatedValueSetCommand](https://wfsys.gitbook.io/workflow-mobile-forms-syntax/workflow_mobile_forms/commands/animated_value_set_command)



## Телефон <a href="#phone" id="phone"></a>

Через мобильное приложение можно обратиться к функции телефона, чтобы совершать вызов, для этого используется команда [PhoneCallCommand](https://wfsys.gitbook.io/workflow-mobile-forms-syntax/workflow_mobile_forms/commands/phone_call_command).

```xml
<Command Name="PhoneCallCommand" Type="PhoneCallCommand" Assembly="Commands">
  <Number>
    <Object Name="SupportLabel" />
  </Number>
</Command>
```



## Вибрация <a href="#vibration" id="vibration"></a>

Сообщения об ошибках можно сопровождать легкой вибрацией устройства, чтобы дополнительно привлечь внимание пользователя. Для управления вибрацией используется команда [VibrationCommand](https://wfsys.gitbook.io/workflow-mobile-forms-syntax/workflow_mobile_forms/commands/vibration_command).&#x20;

Перейдем в xml-файл экрана входа и добавим описание команды типа VibrationCommand:

{% code title="TemplateLogin.xml" %}
```xml
<Command Name="FailVibrationCommand" Type="VibrationCommand" Assembly="Commands">
  <Type>Custom</Type>
  <Duration>150</Duration>
</Command>
```
{% endcode %}

В тэге [`<Type>`](https://wfsys.gitbook.io/workflow-mobile-forms-syntax/workflow_mobile_forms/commands/vibration_command#type) указываем наименование режима Custom, при котором открывается возможность задавать в тэге [`<Duration>`](https://wfsys.gitbook.io/workflow-mobile-forms-syntax/workflow_mobile_forms/commands/vibration_command#duration) длительность вибрации в миллисекундах.

{% hint style="warning" %}
Возможность задавать длительность вибрации в тэге `<Duration>` поддерживается только для Android. На iOS значение фиксировано и составляет 500мс.

&#x20;Если на iOS необходимо делать вибрацию короче, то следует использовать режим Click или LongPress.
{% endhint %}

Скорректируем Execution, который выдает сообщение о неверном пароле:

{% code title="TemplateLogin.xml" %}
```xml
<Execution>
  <ConditionExpression>
    <Condition Name="LoginCommandFailEqualCondition" />
  </ConditionExpression>
  <Commands>
    <Command Name="FailVibrationCommand" />
    <Command Name="LoginFailedMessageBoxCommand" />
  </Commands>
</Execution>
```
{% endcode %}

