Android:显示启用wifi的对话框

时间:2014-05-26 10:11:21

标签: android android-alertdialog android-wifi

我想,如果禁用wifi,则向用户显示一个对话框,可以决定是否要启用或禁用wifi。

我能看到wifi是否启用,但我怎么能显示该设置对话框。

这是我正在使用的代码:

if(wifiMan.isWifiEnabled()==false){
    Log.i("DEBUG","turning on wifi");
    wifiMan.setWifiEnabled(true);//I would like that the user decide
    }

  else {  
  Log.i("DEBUG","wifi is on");
   }

PS :我用过:startActivity(new Intent(Settings.ACTION_WIFI_SETTINGS));但我收到此错误:ACTION_WIFI_SETTINGS无法解析或不是字段

我想有这个互动对话:

enter image description here

3 个答案:

答案 0 :(得分:8)

如果不能正常工作,你可以尝试这种方式。问题可能是导入错误的命名空间。 试试这个

  

android.app.activity.startActivity(新   android.content.Intent.Intent(android.provider.settings.Settings.ACTION_WIFI_SE设置));

如果上述情况不起作用,您也可以尝试使用此

startActivity(new Intent(WifiManager.ACTION_PICK_WIFI_NETWORK));

创建如下对话框:

AlertDialog.Builder alertDialogBuilder = new AlertDialog.Builder(
                context);

            // set title
            alertDialogBuilder.setTitle("Wifi Settings");

            // set dialog message
            alertDialogBuilder
                .setMessage("Do you want to enable WIFI ?")
                .setCancelable(false)
                .setPositiveButton("Yes",new DialogInterface.OnClickListener() {
                    public void onClick(DialogInterface dialog,int id) {
                        //enable wifi
                        wifiMan.setWifiEnabled(true);
                    }
                  })
                .setNegativeButton("No",new DialogInterface.OnClickListener() {
                    public void onClick(DialogInterface dialog,int id) {
                        //disable wifi
                        wifiMan.setWifiEnabled(false);
                    }
                });

                // create alert dialog
                AlertDialog alertDialog = alertDialogBuilder.create();

                // show it
                alertDialog.show();

答案 1 :(得分:2)

试试这个:

startActivity(new Intent(WifiManager.ACTION_PICK_WIFI_NETWORK));

答案 2 :(得分:0)

你好看一下

http://developer.android.com/reference/android/provider/Settings.html

可以用于启动各种设置屏幕的不同类型的意图操作

并且在引用一些网站后,这些是给出的最佳解决方案

    android.app.activity.startActivity(newandroid.content.Intent.Intent(android.provider.settings.Settings.ACTION_WIFI_SE‌​TTINGS)); 

    or 

    using, startActivity(new Intent(Settings.ACTION_WIFI_SETTINGS));

or

context.startActivity(new Intent(WifiManager.ACTION_PICK_WIFI_NETWORK));

以下是一些教程链接,解释了您的想法。

http://www.coderzheaven.com/2011/09/18/how-to-open-wifi-settings-in-android/

http://andbrain.com/blog/how-to-start-wifi-settings-screen-programmatically-with-intent/

http://www.androidsnippets.com/open-wifi-settings