2

コーディングを通じてブラックベリーでインターネット接続を有効または無効にする方法を知りたいです。

編集

protected void disableConnection() {
    activeConn = RadioInfo.getActiveWAFs();
    if(activeConn == 0){
        activeConn = RadioInfo.getEnabledWAFs();
    }

    mystore.setContents(new Integer(activeConn));
    mystore.commit();

    Radio.deactivateWAFs(activeConn);
    Dialog.alert("Off internet");
}

protected void enableConnection() {
    if(RadioInfo.getState() == RadioInfo.STATE_ON){
        Dialog.alert("Internet on already");
    }else if(mystore.getContents() != null){
        if(Radio.activateWAFs(Integer.parseInt(mystore.getContents().toString())) == true){
            Dialog.alert("On Internet");
        }else{
            Dialog.alert("Unable to on internet");
        }
    }else{
        Dialog.alert("Unable to on internet");
    }
}

これらは、ボタンのクリックをオンにしてオフにする 2 つのメソッドです。

4

3 に答える 3

3

インターネット接続について質問されましたが、Wi-Fi 接続以外にも関心があると思います。通話Radio.deactivateWAFs(RadioInfo.WAF_WLAN);は Wi-Fi のみを無効にします。

より適切な実装では、おそらく最初にどの無線がオンになっているかを確認してから、それらの無線をオフにします。サービスを再度オンにする場合は、オフにした無線を再度有効にします。このようなもの:

/** we record which radios are active */
private int _activeWAFs = 0;

private void getActiveWAFs() {
    _activeWAFs = RadioInfo.getActiveWAFs();
    if (_activeWAFs == 0) {
        _activeWAFs = RadioInfo.getEnabledWAFs();
    }
}

/** turn radios off if they're currently on */
private void disableAll() {
   getActiveWAFs();
   Radio.deactivateWAFs(_activeWAFs);
}

/** turn radios on, if we turned them off with disableAll() */
private void enableAll() {
   boolean success = Radio.activateWAFs(_activeWAFs) && (RadioInfo.getState() == RadioInfo.STATE_ON);
   if (!success) {
      // do something?
   }
}

また、これらの操作の結果、またはラジオへの外部変更に関する通知が必要な場合は、RadioStatusListenerを実装できます。

public void networkStarted(int networkId, int service) {
   if (RadioInfo.getState() == RadioInfo.STATE_ON) {
      // network ready to use!
   }
}

そして、はい、この呼び出しは、アプリのインターネット接続だけでなく、デバイス全体に影響します。

于 2012-06-27T00:05:57.603 に答える
2

Radio.deactivateWAFS() は、すべてのワイヤレス接続を無効にするか、インターネット接続または Bluetooth 接続のみを無効にします。

例: 非アクティブな WiFi 接続。

Radio.deactivateWAFs(RadioInfo.WAF_WLAN);
于 2012-06-26T07:25:15.890 に答える
2

これを試して -

これにより、wifiがオンになります-

Radio.activateWAFs(RadioInfo.WAF_WLAN);

これにより、wifiがオフになります-

Radio.deactivateWAFs(RadioInfo.WAF_WLAN);    
于 2012-06-26T09:42:59.177 に答える