1

次のURLへの接続を確立しようとしています:

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

問題は、WAP2 を使用して上記の URL に接続しようとすると、接続が null として取得される一方で、WIFI で接続を確立しているときに接続を確立して正しい応答を取得できることです。

追加:

上記の URL への「;ConnectionUID=WAP2Trans」が機能しない (接続を null として取得する)

その間

追加

上記のURLに「;interface=wifi」を指定するとうまくいきます。

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;
   }
4

3 に答える 3

2

これを試して

url = url +";deviceside=true;ConnectionUID=" +uid;
于 2010-01-30T15:05:28.557 に答える
1

やってみませんか

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

それ以外の

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

=-1ではなく-1を確認してください

これが機能するかどうか教えてください

于 2010-02-09T21:33:39.827 に答える
1

この条件が原因だと思います: (records[i].getCid().toLowerCase().indexOf("wptcp") != -1)

以前に WPTCP でフィルタリングしています: records = sb.findRecordsByCid("WPTCP");

したがって、ループ内のすべてのレコードにはWPTCPへのCidがあると思います

于 2011-05-10T16:40:16.633 に答える