Является ли партнерская программа RIM Alliance единственным вариантом для приложений blackberry, когда не предоставляются BES и APN? - PullRequest
1 голос
/ 03 ноября 2010


Я здесь, как и многие другие до меня, с проблемой HttpConnection с использованием платформы BlackBerry (в моем случае 4.6.1).

Мне нужно выполнить вызов веб-службыи все отлично работает с эмулятора (с использованием MDS и WiFi), но при использовании реального телефона (8250) работает только WiFi.

Мой тестовый телефон, как и многие здесь в Италии, имеет план данных BIS инет конфигурации APN по умолчанию.Как я уже говорил, это очень распространенная конфигурация для телефонов моей страны, поэтому я хотел бы решить эту проблему, не заставляя пользователя указывать какой-либо параметр подключения.

Я уже пытался создать соединение HttpConnection, используя все варианты.метода Connector.Create:

  1. (HttpConnection) Connector.open (uri);// Параметры не указаны
  2. (HttpConnection) Connector.open (uri + "; deviceside = true" );
  3. (HttpConnection) Connector.open (uri + "; deviceside = false" );
  4. (HttpConnection) Connector.open (uri + "; интерфейс= WiFi ");
  5. (HttpConnection) Connector.open (uri + "; deviceside = false; ConnectionUID = uid" );

Число 4 , т.е. WiFi, является единственным методом, работающим для меня.
Number 1 и 3 не могут жаловаться на отсутствующую конфигурацию APN.
Number 2 происходит сбой, потому что я не подключен к инфраструктуре BES.
Number 5 завершается сбоем, потому что uid, полученный с помощью кода, указанного в документации BB , всегда возвращает нулевое значение (возможно, потому чтоWAP2 не настроен?)

Я не тестировал решение WAP1, потому что обычный пользователь, вероятно, не будет знать параметры, необходимые для его настройки.

Я только что обнаружил, что также "mds-public" Волшебная строка может повлиять на соединение, но мне все еще нужно выяснить его значение и влияние на мою несущую.

Итак, наконец, реальный вопрос: вы думаете, чтоединственное решение для меня - это запросить доступ к BIS-Bсервис и так, чтобы стать участником партнерской программы Альянса?Знаешь, я хотел бы быть уверен, прежде чем попросить моего босса заплатить за него, если в этом нет необходимости.

Заранее большое спасибо,
Алессандро

Ответы [ 3 ]

1 голос
/ 03 ноября 2010

Хорошо, хорошо .. Я торопился, и мне нужен был ответ, поэтому я тоже опубликовал вопрос на форуме ежевики (позор мне!).
Но я получил действительно интересный ответ, что я 'Я хотел бы поделиться с вами: peter_strange ответ

Существует черный ход для получения доступа к BIS-B.

Заполните заявку на Pushсервис (бесплатно).Это использует BIS-B.Вам не нужно пользоваться услугой PUSH, но вы получите доступ к BIS-B.

Насколько я понимаю (из бесед с RIM на DevCon) RIM еще не добрались до того, чтобы сделать BIS-B доступным для всех, потому что у них не было времени, чтобы заключить юридические соглашения, в которых вы нуждаетесьделать.но это уже включено в сервис push.

Так что нет необходимости в членстве в Альянсе, просто используйте службу Push.

Многие благодарности peter_strange!

1 голос
/ 03 ноября 2010

Я рекомендую вам использовать это

http://www.versatilemonkey.com/blog/index.php/2009/06/24/networking-helper-class/

Мы используем это в нашем проекте с некоторыми изменениями.

Он проверяет каждый доступный транспорт и принимаетпервый, который работает.

Вы также можете реализовать свой собственный, если хотите.

В настоящее время он работает в производстве в Канаде и США на всех носителях.Я надеюсь, что это будет работать и в ЕС.

0 голосов
/ 03 ноября 2010

Если вам известны наиболее распространенные носители, которые вам необходимо поддерживать, вы можете «запечь» информацию APN в своем приложении, чтобы все, что ему нужно было сделать, это проверить сеть, используя что-то вроде RadioInfo.getCurrentNetworkName (), а затем сопоставьте его с APN для добавления в строку подключения и использования Direct TCP.

Вам нужно только APN для операторов GSM, поэтому CDMA должен нормально работать без APN.

...