6

我只是想知道如何使用 Android SDK 启用/禁用 3G/2G,而不仅仅是打算进入 3G 设置页面。谢谢。还有一种方法可以做同样的事情,但使用 GPS。谢谢!

4

2 回答 2

5

没有导出到 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_ 常量集。并且您需要能够写入安全设置,这需要使用系统密钥进行签名。除非它是自定义构建,否则您可能无权访问它。

于 2011-05-29T21:45:58.357 回答
4

您不能从 SDK 应用程序启用或禁用任何这些。

于 2011-05-29T21:44:28.687 回答