随着Wifi的普及,在开发App的时候对wifi的考虑越来越多了。例如程序的升级在wifi下可以省很多流量,在通信软件中的视频通话。可以实现高画质的传输等等,Android提供了WifiManager类来帮助开发者们管理Wifi。下面就简单来说一下WifiManager的简单用法把。
权限:
为了使用WfiManager 我们需要在Androidmanifest.xml 加入权限:
//本例中使用了前两个。具体请按照需要添加权限。
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE"></uses-permission>
<uses-permission android:name="adnroid.permission.CHANGE_WIFI_STATE"></uses-permission>
<uses-permission android:name="adnroid.permission.ACCESS_CHECKIN_PROPERTTES"></uses-permission>
<uses-permission android:name="android.permission.WAKE_LOCK"></uses-permission>
<uses-permission android:name="android.permission.INTERNET"></uses-permission>
<uses-permission android:name="android.permission.MODIFY_PHONE_STATE"></uses-permission>
获取当前连接WIFI信息
// 获取WifiManager final WifiManager wm = (WifiManager) getSystemService(Context.WIFI_SERVICE); btnStart = (Button) findViewById(R.id.button1); btnStart.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { // 获取当前连接WIFI的信息 WifiInfo info = wm.getConnectionInfo(); // 判断当前是否有连接的WIFI if (info.getBSSID() != null) { // 信号强度 int strength = WifiManager.calculateSignalLevel( info.getRssi(), 100); // 连接速度 int speed = info.getLinkSpeed(); // 获取BSSID地址。 String bssid = info.getBSSID(); // 获取SSID地址。 需要连接网络的ID String ssid = info.getSSID(); String text = String.format( "当前Wifi信号强度%s,网络速度%s,SSID:%s,BSSID:%s", strength, speed, ssid, bssid); Toast.makeText(MainActivity.this, text, Toast.LENGTH_SHORT) .show(); } } });