Во-первых, не используйте такие флаги, потому что они иногда могут давать странные результаты. Способ проверки типа соединения - через класс CoverageInfo
:
CoverageInfo.isCoverageSufficient(CoverageInfo.COVERAGE_BIS_B);
CoverageInfo.isCoverageSufficient(CoverageInfo.COVERAGE_MDS);
//...
Во-вторых, я думаю, вы должны проверить, что суффикс URL (с именем ConnectionParameter
в вашем коде, кстати, это имя не соответствует соглашениям об именах Java) инициализируется правильно, когда на устройстве, потому что я думаю, что вы пропустили несколько вариантов (например, BIS и другие редко используемые параметры WAP и APN). Это может дать вам подсказку о том, где проблема.
Чтобы убедиться, что с вашим кодом нет проблем, вы можете ввести URL-адрес в браузере BlackBerry, чтобы увидеть, совпадает ли результат.
Наконец, HTTP 500 - это ошибка сервера, поэтому проблема может быть связана и с сервером.
ОБНОВЛЕНИЕ: Если вы не программируете для старых устройств, вы должны использовать класс ConnectionFactory
, который обрабатывает URL-адреса и суффиксы для вас. Он был добавлен в OS 5.0.