我想,如果禁用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无法解析或不是字段
我想有这个互动对话:
答案 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_SETTINGS));
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/