Как правило, практически все современные модели мобильных телефонов и смартфонов поддерживают функцию виброзвонка. Следовательно, должны существовать функции для его включения и выключения. Для использования виброзвонка на смартфоне применяются функции
Vibrate
,
VibrateStop
и
VibrateGetDeviceCaps
.
При помощи этих функций разработчик может использовать возможности виброзвонка в своих приложениях. Соответствующий код приведен в листинге 13.23.
Листинг 13.23
/// <summary>
/// Включает виброзвонок
/// </summary>
/// <returns>S_OK сообщает об успешном вызове функции. В случае
/// ошибки возвращается E_FAIL
///</returns>
[DllImport("aygshell")]
private static extern int Vibrate(int cvn, IntPtr rgvn, uint fRepeat,
uint dwTimeout);
/// <summary>
/// Останавливает виброзвонок
/// </summary>
/// <returns>S_OK сообщает об остановке виброзвонка. В случае
/// ошибки возвращается EFAIL
/// </returns>
[DllImport("aygshell")]
private static extern int VibrateStop;
/// <summary>
/// Получает сведения о возможности использования виброзвонка
/// <returns>В успешном случае возвращается TRUE, в случае
/// ошибки - FALSE.</returns>
public static bool StartVibrate {
int result = Vibrate(0, IntPtr.Zero, 0xffffffff, 0xffffffff);
if (result != 0) {
return false;
}
return true;
}
/// <summary>
/// Останавливаем виброзвонок
/// </summary>
/// <returns>В успешном случае возвращается TRUE, в случае
/// ошибки - FALSE.</returns>
public static bool StopVibrate {
int result = VibrateStop;
if (result != 0) {
return false;
}
return true;
}
ВНИМАНИЕ
Приведенный код будет работать только на смартфонах. На форумах можно найти сообщения, что на устройствах под управлением PocketPC Phone Edition этот пример не работает, даже если указанное устройство поддерживает виброзвонок.
Глава 14
Кирпичики .NET Compact Framework
Итак, изучение .NET Compact Framework подходит к концу. Мы с вами рассмотрели различные аспекты программирования для карманных компьютеров и смартфонов. Напоследок я хочу предложить вам несколько маленьких советов-кирпичиков, с помощью которых вы сможете построить свое новое приложение. Часть этих советов уже встречалась вам на страницах этой книги. Но, может быть, вы не обратили на них внимания или не помните, где искать нужный вам кусок кода. Поэтому я отобрал часть этих советов и поместил их в отдельную главу. Эту главу можно рассматривать как справочный материал