У меня есть приложение BlackBerry, которое выполняет различные задачи, получая доступ к различным сетевым ресурсам. У меня есть новое требование к приложению, что одна из этих задач должна подключаться к Интернету через Bis-B, и если устройство не может выполнить Bis-B, приложение не должно позволять пользователю выполнять задачу в первое место.
Способ подключения через Bis-B заключается в добавлении этого URL-адреса, к которому вы пытаетесь получить доступ:
;deviceside=false;ConnectionType=mds-public
Для устройств, которые находятся на Bis-B, этот URL-суффикс работает, и соединение устанавливается через Bis-B.
Проблема, с которой я столкнулся, связана с устройствами, которых нет на Bis-B. Я предполагал, что если я добавлю вышеупомянутое к URL, а затем попытаюсь подключиться, попытка не удастся (и я мог бы затем перехватить его и использовать это, чтобы определить, что устройство не находится на Bis-B). К сожалению, на самом деле происходит то, что первая или две попытки завершаются успешно , но вторая или третья попытка завершается неудачно с «Сеть не может быть обнаружена. Пожалуйста, повторите попытку позже». После этого все последующие сетевые запросы завершаются с тем же сообщением, даже при вызовах, которые не используют суффикс URL-адреса Bis-B. Через 10-15 минут что-то проясняется, а затем все сетевые запросы, не относящиеся к Bis-B, снова начинают работать.
Так что я, естественно, озадачен, и я ищу какой-нибудь способ надежного определения того, находится ли устройство на Bis-B. Я знаю, что сами устройства могут сказать, потому что значок Wi-Fi в верхнем правом углу экрана BB ярко-белый, если устройство находится на Bis-B, и серый, когда это не так.