先发代码放上来:

package cn.com;

import android.app.Activity;
import android.content.Context;
import android.net.wifi.WifiManager;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.CheckBox;
import android.widget.TextView;
import android.widget.Toast;

public class WiFiTest extends Activity
{
private TextView mTextView01;
private CheckBox mCheckBox01;

/* 创建WiFiManager对象 */
private WifiManager mWiFiManager01;

public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.main);

mTextView01 = (TextView) findViewById(R.id.myTextView1);
mCheckBox01 = (CheckBox) findViewById(R.id.myCheckBox1);

/* 以getSystemService取得WIFI_SERVICE */
mWiFiManager01 = (WifiManager)
this.getSystemService(Context.WIFI_SERVICE);

checkWiFiStatus();
addCheckboxListener();

}

public void addCheckboxListener()
{
/* 捕捉CheckBox的点击事件 */
mCheckBox01.setOnClickListener(new CheckBox.OnClickListener()
{
public void onClick(View v)
{
/* 当选取项为取消选取状态 */
if (mCheckBox01.isChecked() == false)
{
closeWiFiServices();
} else if (mCheckBox01.isChecked() == true)
{
openWiFiServices();
}
}
});
}

public void checkWiFiStatus()
{
if (mWiFiManager01.isWifiEnabled())
// 判断手机是否已启用了WiFi功能
{
/* 判断WiFi状态是否“已打开” */
if (mWiFiManager01.getWifiState() ==
WifiManager.WIFI_STATE_ENABLED)
{
/* 若WiFi已打开,将选取项打勾 */
mCheckBox01.setChecked(true);
/* 更改选取项文字为关闭WiFi */
mCheckBox01.setText(R.string.str_uncheck);
} else
{
/* 若WiFi未打开,将选取项勾选择消 */
mCheckBox01.setChecked(false);
/* 更改选取项文字为打开WiFi */
mCheckBox01.setText(R.string.str_checked);
}
} else
{
mCheckBox01.setChecked(false);
mCheckBox01.setText(R.string.str_checked);
}
}

public void mMakeTextToast(String str, boolean isLong)
{
if (isLong == true)
{
Toast.makeText(EX05_17.this, str, Toast.LENGTH_LONG).show();
} else
{
Toast.makeText(EX05_17.this, str, Toast.LENGTH_SHORT).show();
}
}

public void closeWiFiServices()
{
try
{
if (mWiFiManager01.isWifiEnabled())
// 判断WiFi状态是否为已打开
{
if (mWiFiManager01.setWifiEnabled(false))// 关闭WiFi
{
mTextView01.setText(R.string.str_stop_wifi_done);
} else
{
mTextView01.setText(R.string.str_stop_wifi_failed);
}
} else
{
switch (mWiFiManager01.getWifiState())
// WiFi状态不为已打开状态时
{
case WifiManager.WIFI_STATE_ENABLING:
// WiFi正在打开过程中,导致无法关闭...
mTextView01.setText(getResources().getText(
R.string.str_stop_wifi_failed)
+ ":" +
getResources().getText(R.string.str_wifi_enabling));
break;
case WifiManager.WIFI_STATE_DISABLING:
// WiFi正在关闭过程中,导致无法关闭...
mTextView01.setText(getResources().getText(
R.string.str_stop_wifi_failed)
+ ":" +
getResources().getText(R.string.str_wifi_disabling));
break;
case WifiManager.WIFI_STATE_DISABLED:
// WiFi已经关闭
mTextView01.setText(getResources().getText(
R.string.str_stop_wifi_failed)
+ ":" +
getResources().getText(R.string.str_wifi_disabled));
break;
case WifiManager.WIFI_STATE_UNKNOWN:
// 无法取得或辨识WiFi状态
default:
mTextView01.setText(getResources().getText(
R.string.str_stop_wifi_failed)
+ ":" +
getResources().getText(R.string.str_wifi_unknow));
break;
}
mCheckBox01.setText(R.string.str_checked);
}
} catch (Exception e)
{
Log.i("HIPPO", e.toString());
e.printStackTrace();
}
}

public void openWiFiServices()
{
if (!mWiFiManager01.isWifiEnabled()
// 确认WiFi服务是关闭且不在打开过程中
&& mWiFiManager01.getWifiState() !=
WifiManager.WIFI_STATE_ENABLING)
{
if (mWiFiManager01.setWifiEnabled(true))
// 启动WiFi服务
{
switch (mWiFiManager01.getWifiState())
{
case WifiManager.WIFI_STATE_ENABLING:
// WiFi正在打开过程中....
mTextView01.setText(getResources().getText(
R.string.str_wifi_enabling));
break;
case WifiManager.WIFI_STATE_ENABLED:
// WiFi已经打开
mTextView01.setText(getResources().getText(
R.string.str_start_wifi_done));
break;
default:
mTextView01.setText(getResources().getText(
R.string.str_start_wifi_failed)
// 其它未知的错误
+ ":" +
getResources().getText(R.string.str_wifi_unknow));
break;
}
} else
{
mTextView01.setText(R.string.str_start_wifi_failed);
}
}
}

}


还有个最重要的环节就是设置各种权限








:

更多相关文章

  1. android朋友圈监听键盘状态 点击空白区域隐藏键盘
  2. android 登录前检查网络状态
  3. Android 修改TabLayout设置文字大小一致
  4. Android 监听手机GPS打开状态实现代码
  5. android之检查service运行状态函数
  6. Android实用视图动画及工具系列之四:多状态CheckBox,可设置大小尺
  7. Android菜鸟的成长笔记(14)—— Android中的状态保存探究(上)
  8. Android隐藏状态栏 全屏
  9. 禁止android显示状态栏

随机推荐

  1. 关于android studio报错transformClasses
  2. Known Free Software Android(安卓)Appli
  3. Android通知Notification
  4. Android中Parcelable接口用法
  5. android 判断service是否开启
  6. AndroidManifest.xml配置文件选项详解
  7. Android(安卓)Activity实现切换动画的两
  8. android MediaRecorder录音
  9. android发送json并解析返回json
  10. android Dialog中SeekBar的使用方法