BlackBerry - проблема с подключением с использованием WAP2 - PullRequest
1 голос
/ 30 января 2010

Я пытаюсь установить соединение со следующим URL:

"http://local.yahooapis.com/LocalSearchService/V3/localSearch?appid=0KOmkJ7V34Hvfo6oPV4YJaKmTz69b_UMMhOyBex5v24Gnyr3t4lrN26HBjwbfT.khg--&query=pepsi&latitude=37.79581&longitude=-122.38008&results=5"

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

добавление:

"; ConnectionUID = WAP2Trans" вышеупомянутый URL не работает. (Получение соединения как ноль)

, а

* Добавление данных 1014 *

"; interface = wifi" для указанного выше URL работает.

Моя логика для получения ConnectionUID:

ServiceBook sb = ServiceBook.getSB();
   net.rim.device.api.servicebook.ServiceRecord[] records = 
      sb.findRecordsByCid("WPTCP");
   String uid = null;
 /*System.out.println("*****************Records are :" + records);
   System.out.println("*****************Records length :" + ecords.length);*/
   for(int i=0; i < records.length; i++) {
      if (records[i].isValid() && !records[i].isDisabled()) {
         if (records[i].getUid() != null && records[i].getUid().length() != 0) {
            if ((records[i].getCid().toLowerCase().indexOf("wptcp") != -1) && 
               records[i].getUid().toLowerCase().indexOf("wap2") !=- 1 &&
               (records[i].getUid().toLowerCase().indexOf("wifi") == -1) &&
               (records[i].getUid().toLowerCase().indexOf("mms") == -1)) {
               uid = records[i].getUid();
               break;
            }
         }
      }
   }
   if (uid != null) {
      url = url +";ConnectionUID=" + uid;
   }

Ответы [ 3 ]

2 голосов
/ 30 января 2010

попробуйте

url = url +";deviceside=true;ConnectionUID=" +uid;
1 голос
/ 10 мая 2011

Я думаю, что это потому, что это условие: (records [i] .getCid (). toLowerCase (). indexOf ("wptcp")! = -1)

Вы предварительно фильтруете по WPTCP: records = sb.findRecordsByCid ("WPTCP");

поэтому я предполагаю, что все записи в цикле будут иметь Cid to WPTCP

1 голос
/ 10 февраля 2010

Если вы не попробуете

records[i].getUid().toLowerCase().indexOf("wap2") != -1 &&

вместо

records[i].getUid().toLowerCase().indexOf("wap2") !=- 1 &&

отметьте -1, а не = - 1

Дайте мне знать, если это работает

...