外部应用程序的startActivity需要<activity>声明?</activity>

时间:2011-06-02 12:26:58

标签: 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$Proxy@45a3df40”

如果我是正确的,我需要在我的清单中声明活动..但如何?我试过这个:

<activity android:name="android.settings.WIFI_SETTINGS" />

或者我做错了什么?

更新:我试图从PreferenceActivity的onOptionsItemSelected方法访问Wifi设置活动。这对于s​​tartActivity,startService或sendBroadcast都不起作用。

下面的答案几乎适用于所有其他场景.. :)

1 个答案:

答案 0 :(得分:0)

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

删除你意图中的旗帜,我看不出他们的意思。

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