Android 是否声明外部应用程序需要的startActivity?

Android 是否声明外部应用程序需要的startActivity?,android,Android,我希望能够从我的应用程序打开Android的股票Wifi设置屏幕,获得以下代码: Intent settings = new Intent(Settings.ACTION_WIFI_SETTINGS); settings.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); startActivity(settings); 我得到的窗口已经聚焦,忽略了:com.android.internal.view.IInputMethodClient$Stub的聚焦增益$Pr

我希望能够从我的应用程序打开Android的股票Wifi设置屏幕,获得以下代码:

Intent settings = new Intent(Settings.ACTION_WIFI_SETTINGS);
settings.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(settings);
我得到的窗口已经聚焦,忽略了:com.android.internal.view.IInputMethodClient$Stub的聚焦增益$Proxy@45a3df40

如果我是正确的,我需要在清单中声明活动。。但是怎么做呢?我试过这个:

<activity android:name="android.settings.WIFI_SETTINGS" />
还是我做错了什么

更新:我试图从PreferenceActivity的OnOptions ItemSelected方法访问Wifi设置活动。这不适用于startActivity、startService或sendBroadcast


下面的答案几乎适用于所有其他情况

您只需在清单中声明您的活动。不是属于外部程序的

把你的意图中的旗帜去掉,我看不出有什么意义

startActivity( new Intent(android.provider.settings.Settings.ACTION_WIFI_SE‌​TTINGS) );

好吧,这真的很愚蠢,但显然,当它从首选项活动调用时,它就不起作用了。。我已经在我的主要活动中尝试了你的代码,它马上就起作用了。Pff。我会尝试通过使用广播接收器来绕过这一点,但我认为问题在于刚刚传递给接收器的上下文,如果我这样做,好的,我只是无法从首选项活动中的选项菜单启动任何内容。。。没有广播,没有服务,没有活动。太蹩脚了: