6

我正在编写一个应用程序,我需要专门的 GPRS 连接,即使 wifi 或 3G(或更好)可用。我已经想出了如何禁用 wifi(通过使用WifiManager),但是,我似乎无法找到如何以编程方式禁用 3G 并且只使用 GPRS 连接,其效果与在设备设置中手动更改它的效果相同。

有没有办法用代码做到这一点?

更新:我正在寻找的不一定必须在公共 Android API 中。它也可能在一个未记录的 API 中,或者作为最后的手段,特定于设备的 API,我只需要一些可以工作的东西。但是,我宁愿不必 root 设备来使用这些功能。

4

3 回答 3

2

问题不仅在于私有 API,还在于第 3 方 APK 无法获得修改此类设置的权限。

因此,除了对私有接口进行逆向工程外,这样做还需要有根设备。

于 2011-08-20T17:43:43.687 回答
0

据我所知,无法通过应用程序更改移动网络的类型。

于 2011-08-18T09:31:53.057 回答
0

在 android 框架中,TelephonyManager 是为 android 应用程序提供电话服务的对象。
请参阅http://developer.android.com/reference/android/telephony/TelephonyManager.html
该服务确实提供了几种方法来了解您的物理无线电组件的状态和信息。

但是无法修改设备的物理无线电组件的工作方式。它是您的设备制造商的私有逻辑,它会尽力遵守无线电话行业标准并提供最佳的最终用户体验质量

这是一个公共 api android 观点(通过 dalvik)的答案,不要在私有 android api 的上下文中回答,也不是本地方式也不是 root 特权方式。

于 2011-08-18T09:50:05.037 回答