Требуется Радио не активна ошибка в ежевике - PullRequest
0 голосов
/ 05 декабря 2011

Я пытаюсь получить некоторые веб-сервисы из кода Blackberry.Вот код, который я использую

public void execute(int method)
    {
        HttpConnection connection = null;
        try
        {
            switch(method)
            {
                case GET:
                {
                    String combinedParams = "";
                    if(!params.isEmpty())
                    {
                        combinedParams += "?";
                        for(int i=0;i<params.size();i++)
                        {
                            String[] nameValue = SplitString.split(params.elementAt(i).toString(), ",");
                            String paramString = nameValue[0] + "=" + nameValue[1];
                            if(combinedParams.length() > 1)
                            {
                                combinedParams  +=  "&" + paramString;
                            }
                            else
                            {
                                combinedParams += paramString;
                            }
                        }
                    }
                   if(combinedParams.equals(""))
                   {
                       System.err.println("URL = "+url);
                        connection = (HttpConnection)Connector.open(url);
                   }
                   else
                   {
                       connection = (HttpConnection)Connector.open(url+combinedParams);
                   }
                   connection.setRequestMethod(HttpConnection.GET);
                   executeRequest(connection);
                   break;
                }
                case POST:
                {
                    connection = (HttpConnection)Connector.open(url);
                    connection.setRequestMethod(HttpConnection.POST);
                    for(int i=0;i<headers.size();i++)
                    {
                        String[] nameValue = SplitString.split(params.elementAt(i).toString(), ",");
                        connection.setRequestProperty(nameValue[0], nameValue[1]);
                    }
                    if(getData()!= null)
                    {
                        OutputStream os = connection.openOutputStream();
                        os.write(getData().toString().getBytes());
                        os.flush();
                    }
                    executeRequest(connection);
                    break;
                }
            }
        }
        catch(Exception e)
        {
            System.err.println(e.getMessage());
            e.printStackTrace();
        }

    }

Как только я запускаю эту строку

connection = (HttpConnection)Connector.open(url);

Я получаю сообщение об ошибке Обязательное радио не активно

У меня нет сим-карты в устройстве, но я подключен к Wi-Fi и могу получить доступ к другим веб-страницам из браузера.

В чем может быть причина этой ошибки?

Я попробовал эту ссылку , а RadioInfo.getState () в моем случае отключено .

Спасибо

1 Ответ

1 голос
/ 05 декабря 2011

Из документов на соединитель:

Поддержка Wi-Fi

Соединение Wi-Fi можно установить, установив параметр интерфейса. Это работает только с прямыми соединениями TCP / UDP.

interface : Если параметр interface=wifi добавлен в конец значения строки URI, соединение сокета Wi-Fi открывается.

Это означает, что вам нужно будет определить, выключено ли радио, и если это так, вы можете попытаться использовать Wi-Fi, добавив interface=wifi к URL-адресу. Правильный URL будет: http://www.google.com;interface=wifi

...