Wi-Fi не работает в собственных приложениях, но работает в браузере Blackberry - PullRequest
1 голос
/ 17 мая 2011

мы только начали писать приложения для Blackberry и попали в странную ситуацию.Наши приложения работают с мобильным интернетом (GPRS, 3G, EDGE), но не работают с Wi-Fi-соединением.

Я попытался изменить все настройки.Но все же обычно это просто «Ошибка туннеля» или «Тайм-аут соединения».То же самое с примером HTTPDemo.

Может кто-нибудь помочь и объяснить, что это такое с Blackberry и WiFi?

StreamConnection s = null;s = (StreamConnection) Connector.open (getUrl () + "; interface = wifi");HttpConnection httpConn = (HttpConnection) s;

               int status = httpConn.getResponseCode();

               if (status == HttpConnection.HTTP_OK)
               {
                   // Is this html?
                   String contentType = httpConn.getHeaderField(HEADER_CONTENTTYPE);
                   boolean htmlContent = (contentType != null && contentType.startsWith(CONTENTTYPE_TEXTHTML));

                   InputStream input = s.openInputStream();

                   byte[] data = new byte[256];
                   int len = 0;
                   int size = 0;
                   StringBuffer raw = new StringBuffer();

                   while ( -1 != (len = input.read(data)) )
                   {
                       // Exit condition for the thread. An IOException is 
                       // thrown because of the call to  httpConn.close(), 
                       // causing the thread to terminate.
                       if ( _stop )
                       {
                           httpConn.close();
                           s.close();
                           input.close();
                       } 
                       raw.append(new String(data, 0, len));
                       size += len;    
                   }   

                   raw.insert(0, "bytes received]\n");
                   raw.insert(0, size);
                   raw.insert(0, '[');
                   content = raw.toString();

                   if ( htmlContent )
                   {
                       content = prepareData(raw.toString());                                
                   }     
                   input.close();                      
               } 
               else 
               {                            
                   content = "response code = " + status;
               }  
               s.close();                    
           } 
           catch (IOCancelledException e) 
           {       
               System.out.println(e.toString());                        
               return;
           }
           catch (IOException e) 
           {       
               errorDialog(e.toString());                        
               return;
           } 

1 Ответ

2 голосов
/ 17 мая 2011

Подключение следующим образом работает для меня

HttpConnection connection = null;
if (WLANInfo.getWLANState() == WLANInfo.WLAN_STATE_CONNECTED) {
         connection = (HttpConnection) Connector.open(url+ ";interface=wifi",
         Connector.READ_WRITE,true);
} else {
         connection = (HttpConnection) Connector.open(url+";deviceside=true", Connector.READ_WRITE,true);
}

Пожалуйста, обратитесь к следующему ресурсу для глубокого понимания и различных методов.

Пример кода HTTP-соединения и BIS-BДоступ По peter_strange

...