Требуется Радио не активна ошибка в Blackberry
Я пытаюсь получить некоторые веб-сервисы из кода 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 ответ
Из документов на Соединитель:
Поддержка Wi-Fi
Соединение Wi-Fi можно установить, установив параметр интерфейса. Это работает только с прямыми соединениями TCP/UDP.
интерфейс: если
interface=wifi
Параметр добавляется в конец строкового значения URI, соединение через сокет Wi-Fi открывается.
Это означает, что вам нужно будет определить, выключено ли радио, и если это так, вы можете попытаться использовать Wi-Fi, добавив interface=wifi
на URL. Правильный URL будет: http://www.google.com;interface=wifi