Intereting Posts
Как рисовать анимированный вид в Android? Инициализация Android Realm в проекте Как отключить подписку на Facebook для Android – Facebook-android-sdk Некоторое сбой хэширования файла, см. Журналы для подробностей SQLite-запрос из нескольких таблиц с использованием SQLiteDatabase Какая лучшая инфраструктура разработки мобильных веб-приложений Как настроить CirclePageIndicator? Могу ли я обернуть библиотеку c ++ в родное расширение Adobe Air для мобильных устройств IOS / Android Как изменить объем устройства из строки поиска в андроиде Почему locationmanager возвращает старые исправления местоположения с новой меткой времени gettime? Изменить размер EditText (любой вид), отображаемый в alertBox? Является ли этот пользовательский CursorAdapter для ListView правильно кодированным для Android? Проблема завершения кода Eclipse CDT C / C ++ в проекте NDK / Java Как настройка baselineAligned to false улучшает производительность в LinearLayout? Push Notification в Android?

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

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

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

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

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

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

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

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

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

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