私は、Google Android が wifi、3g、または 2g のオンとオフを切り替えるための簡単なアプリケーションを開発しています。
Wi-Fi が有効か無効かを確認できる http://developer.android.com/reference/android/net/wifi/WifiManager.html#isWifiEnabled() と、http://developer.android.com が表示さ れます。 /reference/android/net/wifi/WifiManager.html#setWifiEnabled(boolean) で Wi-Fi のオンとオフを切り替えます。
3G と 2G/GPRS で同じことができるかどうか疑問に思っていますか? 3G をオフにして 2G をオンのままにしておくことができるので、それが可能であることはわかっています。