2013-10-24 7 views
0

Приложение My BlackBerry не может подключиться к Интернету через BES. Он успешно соединяется через Wi-Fi, BIS, GPRS и т. Д., Но не обнаруживает подключение к Интернету через BES. Я проверил все настройки, и браузер подключается к Интернету, но не к приложению. Мой метод подключения выглядит следующим образом:Без подключения к Интернету BES - BlackBerry

static String connectionParameters = ""; 
    public static String checkInternetConnection(){ 
      //String connectionParameters = ""; 
      if(CoverageInfo.getCoverageStatus() == CoverageInfo.COVERAGE_NONE) 
      { 
       connectionParameters=null; 
      }  
      else 
      { 
       if (WLANInfo.getWLANState() == WLANInfo.WLAN_STATE_CONNECTED) { 
        // Connected to a WiFi access point 
        connectionParameters = ";interface=wifi"; 
        } else { 
        int coverageStatus = CoverageInfo.getCoverageStatus(); 
        ServiceRecord record = getWAP2ServiceRecord(); 
        if (record != null 
        && (coverageStatus & CoverageInfo.COVERAGE_DIRECT) == 
        CoverageInfo.COVERAGE_DIRECT) { 
        // Have network coverage and a WAP 2.0 service book record 
        connectionParameters = ";deviceside=true;ConnectionUID=" 
        + record.getUid(); 
        } else if ((coverageStatus & CoverageInfo.COVERAGE_MDS) == 
        CoverageInfo.COVERAGE_MDS) { 
        // Have an MDS service book and network coverage 
        connectionParameters = ";deviceside=false"; 
        } else if ((coverageStatus & CoverageInfo.COVERAGE_DIRECT) == 
        CoverageInfo.COVERAGE_DIRECT) { 
        // Have network coverage but no WAP 2.0 service book record 
        connectionParameters = ";deviceside=true"; 
        } 

       } 
      } 

      return connectionParameters; 
     } 
      private static ServiceRecord getWAP2ServiceRecord() { 
       ServiceBook sb = ServiceBook.getSB(); 
       ServiceRecord[] records = sb.getRecords(); 
       for(int i = 0; i < records.length; i++) { 
       String cid = records[i].getCid().toLowerCase(); 
       String uid = records[i].getUid().toLowerCase(); 

       if (cid.indexOf("wptcp") != -1 && 
       uid.indexOf("wifi") == -1 && 
       uid.indexOf("mms") == -1) { 
       return records[i]; 
       } 
       } 
       return null; 
       } 

Пожалуйста, помогите!

EDIT: приложение пытается получить доступ к серверу, доступному в интрасети. Приложение не имеет доступа к Интернету (веб-сервис google) и интрасети (локальный сервер) через BES. Может кто-нибудь прокомментировать?

+1

Для какой версии ОС Blackberry вы разрабатываете? http://docs.blackberry.com/en/developers/deliverables/11938/Using_the_BES_as_an_intranet__gateway_508965_11.jsp заявляет, что есть связанные с брандмауэром методы, возможно, ваш сервис просто не разрешен? вы пытаетесь подключиться к веб-серверу? – x29a

+0

Я разработал для OS 6 и далее. Да, приложение пытается подключиться к веб-службе. Как проверить, установлены ли параметры брандмауэра или проблема с методом подключения? – Sarah

+1

@Sarah Администратор BES может запретить некоторые устройства подключиться к Интернету с помощью политик ИТ. Подключение BES означает, что вы можете подключиться к корпоративной сети BES (подумайте об этом как о локальной сети). В любом случае, попробуйте заменить флажковые проверки на 'CoverageInfo.isCoverageSufficient'. –

ответ

0

сначала вы проверяете наличие достаточного покрытия BES, и это вы получаете, когда у вас есть план BES.

+0

@sarah - извините, пропустил ваш комментарий - см. Мой ответ. –

Смежные вопросы