2011-06-02 21 views
0

我希望能夠從我的應用程序打開Android的股票WiFi設置屏幕,得到這個代碼:startActivity爲外部應用程序需求<activity>宣佈?

Intent settings = new Intent(Settings.ACTION_WIFI_SETTINGS); 
settings.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); 
startActivity(settings); 

我得到「窗口已經集中,忽視聚焦增益的:com.android.internal.view.IInputMethodClient $存根$代理@ 45a3df40「

如果我是正確的,我需要聲明我的清單中的活動..但如何?我試過這個:

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

或者我在做別的事情嗎?

更新:我試圖從PreferenceActivity的onOptionsItemSelected方法訪問Wifi設置活動。這不適用於startActivity,startService或sendBroadcast。

答案下面不工作在幾乎所有其他的場景.. :)

+0

和重複http://stackoverflow.com/questions/2318310/how-can-i-call-wi-fi-settings-screen-from-my-application-using-android – Snicolas 2011-06-02 12:48:06

回答

0

你只需要在你的清單申報的活動。不屬於外部程序。

並刪除您的意圖標誌,我看不到他們的觀點。

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

的好吧,這是真的很愚蠢,但顯然它只是不會工作,當它從PreferenceActivity調用。 我試過你的代碼在我的主要活動,它的工作馬上。 PFF。將試圖通過使用broadcastreceiver繞過這一點,但我認爲問題是上下文(如果我這樣做,這只是傳遞給接收器) – REJH 2011-06-02 13:04:09

+0

好吧我只是不能從preferenceActivity中的選項菜單啓動任何...沒有廣播,沒有服務,沒有活動。 SO LAME :( – REJH 2011-06-02 13:25:21

相關問題