Книга: Программирование КПК и смартфонов на .NET Compact Framework
Технология Bluetooth
Технология Bluetooth
Несмотря на свою дешевизну и простоту, инфракрасное соединение имеет несколько существенных недостатков. К ним относятся маленький радиус действия и возможность связи в пределах прямой видимости. Этих недостатков лишено Bluetooth-соединение.
Но и тут не обошлось без ложки дегтя в бочке меда. Во-первых, существует два различных подхода к реализации Bluetooth-соединений, которые не совместимы друг с другом. Во-вторых, пока не существует поддержки этой технологии в управляемом коде .NET Compact Framework. Примеры с Bluetooth-связью мы будем приводить для устройств под управлением Windows Mobile 5.0, так как они гарантированно используют одну и ту же реализацию Bluetooth-технологии. Так как библиотека .NET Compact Framework не имеет в своем составе классов, работающих с Bluetooth, то придется воспользоваться вызовами функций Windows API, как показано в листинге 12.6.
Листинг 12.6
public enum RadioMode {
Off = 0,
Connectable = 1,
Discoverable = 2
}
/// <summary>
/// Получает текущий статус bluetooth
/// </summary>
/// <param name="dwMode">флаги</param>
/// <returns></returns>
[DllImport("BthUtil.dll")]
public static extern int BthGetMode(out RadioMode dwMode);
/// <summary>
/// Устанавливает новый режим bluetooth
/// </summary>
/// <param name="dwMode">флаги для установки режима</param>
/// <returns></returns>
[DllImport("BthUtil.dll")]
public static extern int BthSetMode(RadioMode dwMode);
private void mnuOn_Click(object sender, EventArgs e) {
BthSetMode(RadioMode.Connectable);
lblStatus.Text = RadioMode.Connectable.ToString();
}
private void Form1_Load(object sender, EventArgs e) {
RadioMode mode;
int ret = BthGetMode(out mode);
lblStatus.Text = mode.ToString();
}
private void mnuOff_Click(object sender, EventArgs e) {
ВthSetMode(RadioMode.Off);
lblStatus.Text = RadioMode.Off.ToString();
}
В этом примере после запуска приложения текущий режим Bluetooth определяется при помощи функции BthGetMode
, а с помощью команд меню пользователь может включать или выключать Bluetooth-соединение, используя функцию BthSetMode
.
- Глава 10 Задействуем Bluetooth
- 6.4.1. Технология Bluetooth
- 6.4. Обмен файлами с Bluetooth-устройствами
- 6.4.2. Bluetooth и Fedora 8
- 11.2. Технология принятия решения в условиях чрезвычайной ситуации
- 7.4 Технология виртуализации хранилища от компании Microsoft
- 8.1 Технология IP Storage
- Технология меток
- 5.12. Обмен файлами с мобильным телефоном по Bluetooth
- Глава 7 ТЕХНОЛОГИЯ СТРУКТУРНОГО ПРОГРАММИРОВАНИЯ
- Технология создания массового турпродукта
- Технология допродаж