android - 以编程方式启动移动网络设置屏幕

标签 android android-settings

我想启动移动网络设置屏幕,以便用户可以启用/禁用 3g 或数据连接。谁能告诉我我需要使用哪个 Intent 来启动 Activity 。 我用过

Intent in = new Intent(android.provider.Settings.ACTION_NETWORK_OPERATOR_SETTINGS ) 

Intent in = new Intent(android.provider.Settings.ACTION_DATA_ROAMING_SETTINGS  ). 

但是这两个都没有用。

最佳答案

它们不会起作用,因为我认为在 2.3 中修复了一个错误。

https://review.source.android.com/#/c/22229/

您可以使用 (for NETWORK_OPERATOR_SETTINGS) 绕过这个

Intent intent = new Intent(Intent.ACTION_MAIN);
intent.setClassName("com.android.phone", "com.android.phone.NetworkSetting");
startActivity(intent);

NetworkSetting 替换为 DATA_ROAMING_SETTINGS 的 Settings

Error opening mobile network settings menu 中描述了另一种类似的解决方案

更新

我最近对此进行了测试,似乎直到 API 级别 15 仍需要此解决方法。由于 API 级别 16,问题中的 Intent 似乎可以正常工作。

关于android - 以编程方式启动移动网络设置屏幕,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6000452/

相关文章:

android - 绘制位图时忽略 setDensity/setTargetDensity

javascript - 通过JS加载CSS

android - 垂直运动传感器

android - 当应用程序不在前台时,NavDeepLinkBuilder 目标被忽略

android - 如何知道android中的应用程序是否启用了通知?

android - 以编程方式打开 Android 设置

java - 其他 Android 开发者工具

android - 请帮助阐明 Android 中设置 Activity 的当前标准

java - Android 帐户管理器在设置中删除选项菜单

android - 打算转到特定帐户的设置页面