Muestra de código: control de radios

import net.rim.device.api.system.*;
import net.rim.device.api.ui.*;
import net.rim.device.api.ui.component.*;
import net.rim.device.api.ui.container.*;
public class NetworkSample extends UiApplication {
    public static void main(String[] args) 
    {
        NetworkSample app = new NetworkSample();
        app.enterEventDispatcher();
    }
    public NetworkSample() 
    {
        pushScreen(new RadioControlScreen());
    }
}
class RadioControlScreen extends MainScreen implements FieldChangeListener 
{
    boolean[] _intRadioOn = new boolean[3];
    ButtonField _btn3G, _btnCDMA, _btniDEN, _btnWiFi;
    public RadioControlScreen()
    {
        VerticalFieldManager vfm = new VerticalFieldManager(Field.FIELD_HCENTER);
        int wafs = RadioInfo.getSupportedWAFs();
        if ((wafs & RadioInfo.WAF_3GPP) != 0 )
        {
            _btn3G = new ButtonField("3G Radio");
            _btn3G.setChangeListener(this);
            vfm.add(_btn3G);
        }
        if ((wafs & RadioInfo.WAF_CDMA) != 0 )
        {
            _btnCDMA = new ButtonField("CDMA Radio");
            _btnCDMA.setChangeListener(this);
            vfm.add(_btnCDMA);
        }
        if ((wafs & RadioInfo.WAF_WLAN) != 0 )
        {
            _btnWiFi = new ButtonField("WiFi Radio");
            _btnWiFi.setChangeListener(this);
            vfm.add(_btnWiFi);
        }
        wafs = RadioInfo.getActiveWAFs();
        if ((wafs & RadioInfo.WAF_3GPP) != 0 )
        {
            _intRadioOn[0] = true;
            _btn3G.setLabel("3G Radio is on");
        }
        if ((wafs & RadioInfo.WAF_CDMA) != 0 )
        {
            _intRadioOn[1] = true;
            _btnCDMA.setLabel("CDMA Radio is on");
        }
        if ((wafs & RadioInfo.WAF_WLAN) != 0 )
        {
            _intRadioOn[2] = true;
            _btnWiFi.setLabel("WiFi Radio is on");
        }
        add(vfm);
        StandardTitleBar tb = new StandardTitleBar();
        tb.addTitle("Radio Control Demo");
        tb.addSignalIndicator();
        setTitleBar(tb);
    }
    public void fieldChanged(Field field, int context) 
    {
        if (field instanceof ButtonField)
        {
            if(field == _btn3G)
            {
                if (_intRadioOn[0])
                {
                    Radio.deactivateWAFs(RadioInfo.WAF_3GPP);
                    _btn3G.setLabel("3G Radio is off");
                    _intRadioOn[0] = false;
                } else
                {
                    Radio.activateWAFs(RadioInfo.WAF_3GPP);
                    _btn3G.setLabel("3G Radio is on");
                    _intRadioOn[0] = true;
                }
            } else if(field == _btnCDMA)
            {
                if (_intRadioOn[1])
                {
                    Radio.deactivateWAFs(RadioInfo.WAF_CDMA);
                    _btnCDMA.setLabel("CDMA Radio is off");
                    _intRadioOn[1] = false;
                } else
                {
                    Radio.activateWAFs(RadioInfo.WAF_CDMA);
                    _btnCDMA.setLabel("CDMA Radio is on");
                    _intRadioOn[1] = true;
                }
            } else if(field == _btnWiFi)
            {
                if (_intRadioOn[2])
                {
                    Radio.deactivateWAFs(RadioInfo.WAF_WLAN);
                    _btnWiFi.setLabel("WiFi Radio is off");
                    _intRadioOn[2] = false;
                } else
                {
                    Radio.activateWAFs(RadioInfo.WAF_WLAN);
                    _btnWiFi.setLabel("WiFi Radio is on");
                    _intRadioOn[2] = true;
                }
            }
        }
    }
}

¿Le ha resultado útil esta información? Envíenos sus comentarios.