Android(安卓)获取当前连接的WiFi信息
16lz
2021-01-26
package com.lenovo.xiaoshan.test;import android.app.Activity;import android.bluetooth.BluetoothAdapter;import android.content.Context;import android.content.Intent;import android.net.wifi.WifiInfo;import android.net.wifi.WifiManager;import android.os.Bundle;import android.widget.TextView;/** * 获取手机WIFI的MAC地址 * @author 单红宇 * */public class GetmacipinfoActivity extends Activity {/** Called when the activity is first created. */private static final int REQUEST_ENABLE_BT = 3;private WifiManager mWifi;private String WifiMac;@Overridepublic void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.main);mWifi = (WifiManager) getSystemService(Context.WIFI_SERVICE);if (!mWifi.isWifiEnabled()) {mWifi.setWifiEnabled(true);}WifiInfo wifiInfo = mWifi.getConnectionInfo();if ((WifiMac = wifiInfo.getMacAddress()) == null) {WifiMac = "No Wifi Device";}TextView mac = (TextView) findViewById(R.id.macView);mac.setTextSize(16);//查看已经连接上的WIFI信息,在Android的SDK中为我们提供了一个叫做WifiInfo的对象,这个对象可以通过WifiManager.getConnectionInfo()来获取。WifiInfo中包含了当前连接中的相关信息。//getBSSID() 获取BSSID属性//getDetailedStateOf() 获取客户端的连通性//getHiddenSSID() 获取SSID 是否被隐藏//getIpAddress() 获取IP 地址//getLinkSpeed() 获取连接的速度//getMacAddress() 获取Mac 地址//getRssi() 获取802.11n 网络的信号//getSSID() 获取SSID//getSupplicanState() 获取具体客户端状态的信息StringBuffer sb = new StringBuffer();sb.append("\n获取BSSID属性(所连接的WIFI设备的MAC地址):" + wifiInfo.getBSSID());//sb.append("getDetailedStateOf() 获取客户端的连通性:");sb.append("\n\n获取SSID 是否被隐藏:"+ wifiInfo.getHiddenSSID());sb.append("\n\n获取IP 地址:" + wifiInfo.getIpAddress());sb.append("\n\n获取连接的速度:" + wifiInfo.getLinkSpeed());sb.append("\n\n获取Mac 地址(手机本身网卡的MAC地址):" + WifiMac);sb.append("\n\n获取802.11n 网络的信号:" + wifiInfo.getRssi());sb.append("\n\n获取SSID(所连接的WIFI的网络名称):" + wifiInfo.getSSID());sb.append("\n\n获取具体客户端状态的信息:" + wifiInfo.getSupplicantState());mac.setText("WIFI网络信息: " + sb.toString() + "\n\n蓝牙MAC: " + btMac);}}
- if (WifiManager.WIFI_STATE_CHANGED_ACTION.equals(action)) {//在此监听wifi有无
- int wifiState = intent.getIntExtra(WifiManager.EXTRA_WIFI_STATE, 0);
- switch (wifiState) {
- case WifiManager.WIFI_STATE_DISABLED:
- updateWifiStatus(R.drawable.wifi_disable);
- Toast.makeText(mContext, R.string.wifi_disable,
- Toast.LENGTH_LONG).show();
- break;
- case WifiManager.WIFI_STATE_DISABLING:
- break;
- case WifiManager.WIFI_STATE_ENABLED:
- updateWifiStatus(R.drawable.wifi_enable);
- Toast.makeText(mContext, R.string.wifi_enable,
- Toast.LENGTH_LONG).show();
- break;
- case WifiManager.WIFI_STATE_ENABLING:
- break;
- case WifiManager.WIFI_STATE_UNKNOWN:
- break;
- }
- }
- //另外一种方式
- mWifiMng = (WifiManager) mContext
- .getSystemService(mContext.WIFI_SERVICE);
- switch (mWifiMng.getWifiState()) {
- case WifiManager.WIFI_STATE_DISABLED:
- updateWifiStatus(R.drawable.wifi_disable);
- Toast.makeText(mContext, R.string.wifi_disable,
- Toast.LENGTH_LONG).show();
- break;
- case WifiManager.WIFI_STATE_DISABLING:
- break;
- case WifiManager.WIFI_STATE_ENABLED:
- updateWifiStatus(R.drawable.wifi_enable);
- Toast.makeText(mContext, R.string.wifi_enable,
- Toast.LENGTH_LONG).show();
- break;
- case WifiManager.WIFI_STATE_ENABLING:
- break;
- case WifiManager.WIFI_STATE_UNKNOWN:
- break;
- }
- if (WifiManager.NETWORK_STATE_CHANGED_ACTION.equals(action)) {
- Parcelable parcelableExtra = intent.getParcelableExtra(WifiManager.EXTRA_NETWORK_INFO);
- if (null != parcelableExtra) {
- NetworkInfo networkInfo = (NetworkInfo) parcelableExtra;
- boolean isConnected = networkInfo.isAvailable();
- updateNetworkStatus();
- }
- }
更多相关文章
- SpringBoot 2.0 中 HikariCP 数据库连接池原理解析
- Android(安卓)带有可滑动效果的用户引导页slidingtutorial-andro
- 运用IntentService类下载文件
- 获取Bitmap和对Bitmap的操作工具类
- Android导航栏滑动折叠效果
- android 下获取apk的icon
- adb 命令集及常用命令
- Android(安卓)7.0之后无摄像头调用闪关灯
- android 获取rom名称和版本号