Android 打开移动网络设置菜单时出错
您好,我想用以下代码打开移动网络设置:Android 打开移动网络设置菜单时出错,android,android-intent,Android,Android Intent,您好,我想用以下代码打开移动网络设置: 但它给了我这个错误。有什么想法吗 12-10 11:17:34.902: ERROR/AndroidRuntime(623): android.content.ActivityNotFoundException: No Activity found to handle Intent { action=android.settings.DATA_ROAMING_SETTINGS flags=0x4000000 } 谢谢您可以尝试取消本例中可能不需要的标
但它给了我这个错误。有什么想法吗
12-10 11:17:34.902: ERROR/AndroidRuntime(623): android.content.ActivityNotFoundException: No Activity found to handle Intent { action=android.settings.DATA_ROAMING_SETTINGS flags=0x4000000 }
谢谢您可以尝试取消本例中可能不需要的标记活动新任务,看看这是否有帮助 如果这没有帮助,那么:
- 您正在Android 1.1或更早版本上运行此功能(似乎不太可能)
- 您正在具有兼容性问题的设备上运行此功能(如果是,请告诉我它是什么设备)
- 发生了一些非常奇怪的事情
ACTION\u DATA\u ROAMING\u SETTINGS
,但设置应用程序本身没有相应的
我会在Android 2.3源代码发布后再查看,看看这是否会改变故事。如果没有,我将提交一个bug,因为它是一个文档错误或设置应用程序错误,IMHO。要使此工作正常,请将您的意图创建更改为以下代码:
Intent intent=new Intent(Settings.ACTION_DATA_ROAMING_SETTINGS);
ComponentName cName = new ComponentName("com.android.phone","com.android.phone.Settings");
intent.setComponent(cName);
基本上,android清单需要一个组件过滤器。这与操作网络运营商设置相同,只需添加以下组件:
Intent Intent=新意图(设置、操作、网络、操作员设置)代码>
ComponentName cName=新组件名(“com.android.phone”、“com.android.phone.Settings”)代码>
intent.setComponent(cName)代码>也对它为什么不起作用感兴趣。尝试在没有标记活动和新任务的情况下,使用通常适用于其他设置屏幕的相同方法。它肯定会在NexusOne上崩溃。真的很奇怪。@Desiderio:请看我上面的更新——设置应用程序似乎不支持此操作。感谢您的澄清。看起来像那种。谢谢你的回答。我在1.5 HTC Magic和2.2 HTC Desire设备上进行了测试。我们如何跟踪这个错误?你会回到这个帖子给我们更新吗?@dackyD:也没有迹象表明它在Android 2.3中得到了尊重,所以我提出了一个问题:这在Android 4.1上已经不起作用了,你知道怎么做吗?为了让Android 4.1能够起作用,我删除了这个组件。。。但我不知道为什么。正如下面的Commonware所指出的,这是Android=(#13368)中的一个bug,这意味着您必须指定组件。我为Android 4.0修复了这个问题,因此不再需要该组件。至于安卓4.1,可能类名改变了——你不能在安卓版本或设备制造商中依赖这些剩余的常量。@buzeeg嘿,你能解释一下吗?你是说像这样的@AmelJose嗨!我是这样做的:
Intent intent=new Intent(Settings.ACTION_DATA_ROAMING_SETTINGS);
ComponentName cName = new ComponentName("com.android.phone","com.android.phone.Settings");
intent.setComponent(cName);