Как заставить соединение GPRS вместо 3G или Wifi? - PullRequest
6 голосов
/ 18 августа 2011

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

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

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

Ответы [ 3 ]

2 голосов
/ 20 августа 2011

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

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

0 голосов
/ 18 августа 2011

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

Это общедоступный API-ответ с точки зрения API (через dalvik), не отвечайте в контексте частного Android-API, ни собственного, ни привилегированного способа.

0 голосов
/ 18 августа 2011

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

...