如何从其他活动打开Android设置对话框?

时间:2015-07-07 16:50:04

标签: android android-activity dialog wifi start-activity

我的应用程序扫描Wifi网络并在GridView中显示它们。 当我点击一个项目时,我通过阅读ScanResult.capabilities检查它使用的安全类型。 如果它是一个开放式网络,我可以通过将其添加到我的WifiConfiguration连接到它,启用它并调用重新连接。

如果网络需要密码,我希望这两种行为中的一种

  1. 我的活动应显示默认对话框,其中包含SSID,密码字段,“显示密码”复选框,取消和连接按钮。
    1. 通过调用startActivity(新的Intent(Settings.ACTION_WIFI_SETTINGS))转到WifiSettings; 但是直接进入上述窗口,无需再次在该窗口上单击该项目。这可能意味着触发onClick但不点击。
    2. 有没有办法从其他活动访问此对话框?

1 个答案:

答案 0 :(得分:0)

几年前出现了同样的问题 - 遗憾的是没有回答: How to invoke system dialog for "Connect to" secured network?

一个非常糟糕的黑客(应该可行)是通过包含WifiDialog来调用android.jar。但这是一个非常糟糕的解决方案,因为它大大增加了应用程序的大小,并且您不依赖于当前设备上API级别的特定WiFiDialog

或者,您必须自己实施此dialog

顺便说一下,有一个issue被打开,但遗憾的是它被标记为过时了。但一切都没有改变。