如何在 Android SDK 中启用/禁用 3G/2G
Posted
技术标签:
【中文标题】如何在 Android SDK 中启用/禁用 3G/2G【英文标题】:How to enable/disable 3G/2G in Android SDK 【发布时间】:2011-09-04 10:56:55 【问题描述】:我只是想知道如何使用 android SDK 启用/禁用 3G/2G,而不仅仅是打算进入 3G 设置页面。谢谢。还有一种方法可以做同样的事情,但使用 GPS。谢谢!
【问题讨论】:
【参考方案1】:没有导出到 SDK 的功能来在 2G 和 3G 之间切换。对于给定的设备,您可能会发现私有功能,但除非使用系统密钥对应用程序进行签名,否则它将无法工作。
您可以通过打开飞行模式来禁用无线电。
您也许可以创建一个快捷方式来直接打开相应的设置活动,而不是通过几个级别的菜单来到达那里。
如果您自己构建,您大概可以添加您真正想要的功能,但这可能对除您自己以外的任何人都没有用。
编辑:更多细节 - 要了解它的工作原理,请查看设置菜单代码(默认版本,给定设备会有所不同):
http://android.git.kernel.org/?p=platform/packages/apps/Phone.git;a=blob;f=src/com/android/phone/Settings.java;hb=HEAD
编辑: AOSP 不再由 kernel.org 提供。可浏览的镜子 当前电话存储库位于 https://github.com/android/platform_packages_apps_phone 然而由于 代码组织的演变不再有 Settings.java 那里。一个人可能会使用 git 从 这个存储库,或者尝试找出代码迁移到哪里 在当前版本中。
您需要找出您希望在它们之间切换的特定于实现的 NT_MODE_ 常量集。并且您需要能够写入安全设置,这需要使用系统密钥进行签名。除非它是自定义构建,否则您可能无权访问它。
【讨论】:
我的意思是您可以启用/禁用 3G,例如使用切换按钮吗? 非常感谢,现在我得到了我必须做的事情!非常感谢。 祝你好运......你会需要它。这在不推荐领域很深。【参考方案2】:您不能从 SDK 应用程序启用或禁用任何这些。
【讨论】:
@Ciehanski Apps:正如 Stratton 先生所说,您可以使用飞行模式强制关闭无线电。但是,这不会禁用无线电。切换飞行模式也不会启用以前禁用的无线电——例如,如果用户禁用了 GPS,则您无法启用它。 “启用”和“禁用”在Android中有非常具体的含义,飞行模式与它们无关。 @Ciehasnki Commonsware 是绝对正确的,没有 SDK 功能可以做到这一点。在我的答案的编辑中讨论的是平台应用程序功能,它是 SDK NOT 的一部分,除非由持有系统证书并知道私有的自定义构建的创建者进行部署该构建的内部细节。以上是关于如何在 Android SDK 中启用/禁用 3G/2G的主要内容,如果未能解决你的问题,请参考以下文章
如何在手机中检查 WIFI 和 3G(数据计划)中的网络连接启用或禁用?