WLANInfo.getWLANState () Blackberry не возвращает правильную информацию - PullRequest
1 голос
/ 19 октября 2010

Я работаю с классом NetworkUtils.java, созданным Самиром Нафди в его сообщении в блоге, касающемся взлома сетевого подключения в приложении Blackberry .Однако недавно я заметил, что мое приложение использует сотовую сеть, даже когда было доступно соединение WiFi.Я понял, что это был тот случай, когда мы тестировали приложение на Torch без SIM-карты, и приложение провалилось.После некоторой отладки я обнаружил, что:

if (WLANInfo.getWLANState() == WLANInfo.WLAN_STATE_CONNECTED){...}

возвращал значение false, несмотря на то, что сеть WiFi была настроена правильно (я смог использовать веб-браузер для посещения Google).Мы должны были вернуть Факел, но во время отладки приложения в симуляторе я заметил, что если WiFi был включен, но сеть передачи данных была отключена, то этот вызов будет работать правильно.Однако тогда я получу исключение (java.io.ioexception: Радио выключено) при выполнении этого блока:

httpConnector = (HttpConnection)Connector.open(URL);
httpConnector.setRequestMethod(HttpConnection.GET);
httpConnector.setRequestProperty("Content-Type", "text/plain; charset=UTF-8");
in = httpConnector.openInputStream();

Я видел много проблем, связанных с проблемами подключения Wi-Fi в Torch, но я 'В настоящее время я обеспокоен тем, что это поведение также может влиять на другие модели.Кто-нибудь видел что-то подобное или есть идеи, как это исправить?

1 Ответ

0 голосов
/ 20 октября 2010

Вы можете попробовать:

if( RadioInfo.areWAFsSupported( RadioInfo.WAF_WLAN )
    && 
    ( RadioInfo.getActiveWAFs() & RadioInfo.WAF_WLAN ) != 0
    && 
    CoverageInfo.isCoverageSufficient( 1 , RadioInfo.WAF_WLAN, false) ) 
{ ... }

Пока это работает на Blackberry OS 6.0 (Torch 9800).Протестировано на устройстве и сим.

...