Как заставить GPRS-соединение вместо 3G или Wi-Fi?

Я пишу приложение, где мне нужно иметь специальное соединение GPRS, даже если Wi-Fi или 3G (или лучше) доступны. Я выяснил, как отключить Wi-Fi (используя WifiManager ), однако я не могу понять, как я могу программно отключить 3G и использовать GPRS-соединение, что равнозначно изменению этого параметра вручную в настройках устройства.

Есть ли способ сделать это с помощью кода?

ОБНОВЛЕНИЕ : То, что я ищу, не обязательно должно быть в общедоступных API Android. Это может быть также в одном из недокументированных API или, в крайнем случае, API-интерфейсах, специфичных для устройства, мне просто нужно что-то, что работает. Однако я бы предпочел не использовать устройство для использования этих функций.

Solutions Collecting From Web of "Как заставить GPRS-соединение вместо 3G или Wi-Fi?"

Проблема заключается не только в частных API, но в том, что сторонний APK не может получить разрешение на изменение такого параметра.

В результате для этого потребуется внедренное устройство в дополнение к обратным инженерным частным интерфейсам.

Насколько я знаю, что изменение типа мобильной сети невозможно из приложения.

В инфраструктуре android TelephonyManager является объектом, предоставляющим услуги телефонии для приложения Android.
См. http://developer.android.com/reference/android/telephony/TelephonyManager.html
Служба предоставляет несколько способов знать состояние и информацию вашего физического радиокомпонента.

Но нет способа изменить способ работы физической радиостанции вашего устройства. Его частная логика производителя вашего устройства, которая пытается сделать все возможное, чтобы соответствовать промышленному стандарту радиофонии и обеспечить наилучшее качество обслуживания конечных пользователей

Это общедоступная точка зрения api android (над далвиком), не отвечайте в контексте частного андроида ави, ни нативного, ни привилегированного корня.