Android 获取连接WiFi和蓝牙名称
Posted 小zhong
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Android 获取连接WiFi和蓝牙名称相关的知识,希望对你有一定的参考价值。
一、获取WiFi名称:
//获取连接的wifi名称
public String getConnectWifiSsid() {
WifiManager wifiManager = (WifiManager) getApplicationContext().getSystemService(Context.WIFI_SERVICE);
WifiInfo wifiInfo = wifiManager.getConnectionInfo();
//获取wifi信号强度
rssi = wifiInfo.getRssi();
String wifiid = wifiInfo.getSSID().replace("\\"", "").replace("\\"", "");
MyLog.getInstance().PrintLog(TAG, "ssid======" + wifiid);
MyLog.getInstance().PrintLog(TAG, "rssi======" + rssi);
return wifiid;
}
根据信号强度设置wifi格数图片
if (rssi >= -55) {
//满格信号
image_wifi.setImageDrawable(ContextCompat.getDrawable(activity, R.mipmap.wifi4));
} else if (rssi < -55 && rssi >= -70) {
//三格信号
image_wifi.setImageDrawable(ContextCompat.getDrawable(activity, R.mipmap.wifi3));
} else if (rssi < -70 && rssi >= -85) {
//二格信号
image_wifi.setImageDrawable(ContextCompat.getDrawable(activity, R.mipmap.wifi2));
} else if (rssi < -85&& rssi >= -100) {
//一格信号
image_wifi.setImageDrawable(ContextCompat.getDrawable(activity, R.mipmap.wifi1));
}
二、获取蓝牙名称:
添加蓝牙权限:
<uses-permission android:name="android.permission.BLUETOOTH"/>
<uses-permission android:name="android.permission.BLUETOOTH_ADMIN"/>
//获取连接的蓝牙名称
public String getConnectedBtDevice() {
//获取蓝牙适配器
BluetoothAdapter bluetoothAdapter = BluetoothAdapter.getDefaultAdapter();
//得到已匹配的蓝牙设备列表
Set<BluetoothDevice> bondedDevices = bluetoothAdapter.getBondedDevices();
if (bondedDevices != null && bondedDevices.size() > 0) {
for (BluetoothDevice bondedDevice : bondedDevices) {
try {
//使用反射调用被隐藏的方法
Method isConnectedMethod = BluetoothDevice.class.getDeclaredMethod("isConnected", (Class[]) null);
isConnectedMethod.setAccessible(true);
boolean isConnected = (boolean) isConnectedMethod.invoke(bondedDevice, (Object[]) null);
MyLog.getInstance().PrintLog(TAG, "isConnected:" + isConnected);
if (isConnected) {
return bondedDevice.getName();
}
} catch (NoSuchMethodException e) {
e.printStackTrace();
} catch (IllegalAccessException e) {
e.printStackTrace();
} catch (InvocationTargetException e) {
e.printStackTrace();
}
}
}
return null;
}
BluetoothAdapter mBluetoothAdapter = BluetoothAdapter.getDefaultAdapter();
//判断蓝牙功能是否存在
if (mBluetoothAdapter == null) {
showToest("该设备不支持蓝牙");
return;
}
//获取名字 MAC地址
String name = mBluetoothAdapter.getName();
String address = mBluetoothAdapter.getAddress();
Log.i(TAG, "蓝牙名: "+name+"mac地址:"+address);
//获取蓝牙的状态
int state = mBluetoothAdapter.getState();
switch (state){
case BluetoothAdapter.STATE_ON:
showToest("蓝牙已经打开");
Log.i(TAG, "蓝牙已经打开 ");
break;
case BluetoothAdapter.STATE_OFF:
showToest("蓝牙已经关闭");
Log.i(TAG, "蓝牙已经关闭 ");
break;
case BluetoothAdapter.STATE_TURNING_OFF:
showToest("蓝牙正在关闭");
Log.i(TAG, "蓝牙正在关闭 ");
break;
case BluetoothAdapter.STATE_TURNING_ON:
showToest("蓝牙正在打开");
Log.i(TAG, "蓝牙正在打开 ");
break;
default:
break;
}
以上是关于Android 获取连接WiFi和蓝牙名称的主要内容,如果未能解决你的问题,请参考以下文章