Android WIFI 简单用法

分享到:

随着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();
                }

            }
        });
昵    称:
验证码:

相关文档: