Java (J2SE) и Bluetooth

Чтобы добавить дополнительный уровень контроля, я использую хранилище HTML5, чтобы определить, использует ли оно мобильное хранилище или настольное хранилище. Если браузер не поддерживает хранилище, у меня есть массив имен мобильных браузеров, и я сравниваю пользовательский агент с браузерами в массиве.

Это довольно просто. Вот функция:

// Used to detect whether the users browser is an mobile browser
function isMobile() {
    ///<summary>Detecting whether the browser is a mobile browser or desktop browser</summary>
    ///<returns>A boolean value indicating whether the browser is a mobile browser or not</returns>

    if (sessionStorage.desktop) // desktop storage 
        return false;
    else if (localStorage.mobile) // mobile storage
        return true;

    // alternative
    mobile = ['iphone','ipad','android','blackberry','nokia','opera mini','windows mobile','windows phone','iemobile','tablet','mobi']; 
    var ua=navigator.userAgent.toLowerCase();
    for (var i in mobile) if (ua.indexOf(mobile[i]) > -1) return true;

    // nothing found.. assume desktop
    return false;
}
9
задан Paŭlo Ebermann 30 June 2011 в 01:44
поделиться

3 ответа

Этот пример java обнаружит все видимые устройства и работает как с библиотеками BlueCove, так и с Avetana ( http://www.avetana-gmbh.de/avetana-gmbh/produkte /jsr82.eng.xml ):

http://www.jsr82.com/jsr-82-sample-device-discovery/

6
ответ дан 4 December 2019 в 22:29
поделиться

Bluecove, как правило, является лучшей поддерживаемой библиотекой, однако вы обнаружите, что различные базовые встроенные стеки bluetooth в Windows сильно различаются по качеству. Собственный стек Windows лишь незначительно поддерживается API-интерфейсами Java. BlueSoleil немного лучше, и Widcomm, как правило, предпочтительнее.

Однако ни BlueSoleil, ни Widcomm не являются бесплатными, если они не поставляются с вашим адаптером, хотя Widcomm можно взломать для работы с неофициально поддерживаемыми адаптерами. Большим ограничением является то, что Bluecove не поддерживает Widcomm на 64-битной Windows.

Лично я закончил тем, что просто использовал Linux для разработки Bluetooth, поскольку все это там просто работает. :) Аветану вообще не пробовала.

1
ответ дан 4 December 2019 в 22:29
поделиться

Хорошо, извините за раздражение. Я нашел ответ, и это BlueCove. После установки дополнительных библиотек теперь он отлично работает на Linux Mint 7. Даже не указанный в списке совместимости Samsung D600 обнаружился на отлично. Выход тестовой программы:

run:
BlueCove version 2.1.0 on bluez
Address: 0006C990021D
Name: hostname-0
Starting device inquiry...
Device discovered: 0015B95BEA0F
INQUIRY_COMPLETED
Device Inquiry Completed. 
Bluetooth Devices: 
1. 0015B95BEA0F (zl0-b0tan)
BlueCove stack shutdown completed
BUILD SUCCESSFUL (total time: 13 seconds)
1
ответ дан 4 December 2019 в 22:29
поделиться
Другие вопросы по тегам:

Похожие вопросы: