0

Webサービスからデータをダウンロードするブラックベリーアプリケーションを作成しています。次のコードを使用して接続を取得しています

public static String getConnectionString()
{
    String connectionString = null;

    if(DeviceInfo.isSimulator())
    {
        connectionString = ";deviceside=true";
    }
    else if(WLANInfo.getWLANState() == WLANInfo.WLAN_STATE_CONNECTED)
    {
        connectionString = ";interface=wifi";
    }
    else if((CoverageInfo.getCoverageStatus() & CoverageInfo.COVERAGE_DIRECT) == CoverageInfo.COVERAGE_DIRECT)
    {
        //logMessage("Carrier coverage.");

        String carrierUid = getCarrierBIBSUid();
        if(carrierUid == null)
        {
            // Has carrier coverage, but not BIBS.  So use the carrier's TCP network
            //  logMessage("No Uid");
            connectionString = ";deviceside=true";
        }
        else
        {
            // otherwise, use the Uid to construct a valid carrier BIBS request
            //logMessage("uid is: " + carrierUid);
            connectionString = ";deviceside=false;connectionUID="+carrierUid + ";ConnectionType=mds-public";
        }
    }
    // Check for an MDS connection instead (BlackBerry Enterprise Server)
    else if((CoverageInfo.getCoverageStatus() & CoverageInfo.COVERAGE_MDS) == CoverageInfo.COVERAGE_MDS)
    {
        //  logMessage("MDS coverage found");
        connectionString = ";deviceside=false";
    }        
    // If there is no connection available abort to avoid bugging the user unnecssarily.
    else if(CoverageInfo.getCoverageStatus() == CoverageInfo.COVERAGE_NONE)
    {
        //logMessage("There is no available connection.");
    }        
    // In theory, all bases are covered so this shouldn't be reachable.
    else
    {
        //logMessage("no other options found, assuming device.");
        connectionString = ";deviceside=true";
    }

    return connectionString;
}

しかし、Wifiで動作していますが、3Gを使用しているときは動作しません。他に何を使用すればよいですか?

4

1 に答える 1

1

キャリアUIDがコードを取得していません。ただし、実際にはBIS-B接続には必要ありません。「deviceside=false; ConnectionType=mds-public」で十分です。

また、BIS-Bに関連するコードはDirectTCPセクション内にあります。CoverageInfo.COVERAGE_BIS_B代わりに使用する必要がありますCoverageInfo.COVERAGE_DIRECT

于 2012-09-26T23:35:16.440 に答える