获取当前链接的蓝牙设备

作者: xzmmhello | 来源:发表于2019-11-29 15:11 被阅读0次

获取当前链接的蓝牙设备

目前Android提供的API只能获取已经链接的设备,但是不能获取当前蓝牙链接的设备。
利用反射可以获取当前蓝牙连接的设备,跟去getBondedDevices获取已绑定的蓝牙连接,然后遍历BluetoothDevice,同样利用反射的方法调用BluetoothDevice的isConnected方法。成功获取。代码如下:

BluetoothAdapter _bluetoothAdapter = BluetoothAdapter.getDefaultAdapter();

void initBlue () throws NoSuchMethodException, InvocationTargetException, IllegalAccessException {
    Class<BluetoothAdapter> bluetoothAdapterClass = BluetoothAdapter.class;//得到BluetoothAdapter的Class对象
    //得到蓝牙状态的方法
    Method method = bluetoothAdapterClass.getDeclaredMethod(“getConnectionState", (Class[]) null);
    //打开权限
    method.setAccessible(true);
    int state = (int) method.invoke(_bluetoothAdapter, (Object[]) null);

    if (state == BluetoothAdapter.STATE_CONNECTED) {
        
        Set<BluetoothDevice> devices = _bluetoothAdapter.getBondedDevices();
        Log.d("LUYU", "devices:" + devices.size());
        for (BluetoothDevice device : devices) {

            Method isConnectedMethod = BluetoothDevice.class.getDeclaredMethod("isConnected", (Class[]) null);
            method.setAccessible(true);
            boolean isConnected = (boolean) isConnectedMethod.invoke(device, (Object[]) null);

            if (isConnected) {
                Log.d(“LUYU”, “connected:”+device.getName());
                //return device.getAddress();
            }
        }
    }else {
        Log.d(“LUYU”, “initBlue: “);
    }
}

相关文章

  • 获取当前链接的蓝牙设备

    获取当前链接的蓝牙设备 目前Android提供的API只能获取已经链接的设备,但是不能获取当前蓝牙链接的设备。利用...

  • Android 商米蓝牙打印机的使用方式

    1:蓝牙权限声明 2:获取蓝牙设备 BluetoothAdapter 3:获取虚拟蓝牙设备 4 : 获取蓝牙套接字...

  • iOS蓝牙、usb、文件分享行为调研

    一:蓝牙开关状态调研 1.可以获取到附近蓝牙设备的信息,获取不到连接状态和历史连接列表 2.可以获取到当前音频输出...

  • iOS监测耳机音量变化、(AirPods蓝牙)耳机插入状态、获取

    开启监听 音量监听+耳机监听 获取当前音量 当前耳机连接状态(包括AirPods等蓝牙音频设备) 弹窗提示

  • Android-蓝牙操作类库实现

    Android对蓝牙的操作主要包含以下四个方面的内容: 打开手机的蓝牙 获取到已经绑定的蓝牙设备和当前范围内存在的...

  • 获取当前信息

    目录:1、获取当前设备类型2、获取当前语言环境3、获取当前APP版本号 1、获取当前设备类型 2、获取当前语言环境...

  • Android之蓝牙耳机的使用

    *使用蓝牙所需的权限*蓝牙使用之官方文档介绍*获取蓝牙的开关状态*判断蓝牙是否已经与设备连接*蓝牙搜索附近的设备*...

  • 如何在uni-app读取蓝牙设备

    读取蓝牙设备主要逻辑步骤1、初始化蓝牙2、开始搜寻附近的蓝牙外围设备3、监听寻找到新设备的事件4、获取在蓝牙模块生...

  • iOS 获取设备信息

    获取iOS设备信息 获取 当前设备 可用内存 及当前 应用 所占内存 获取物理内存 获取硬盘内存 获取本地 获取网...

  • iOS-UIDevice的简单使用

    1.获取设备方向 判断当前设备方向 2.获取设备电池状态 判断当前设备电池状态 3.获取设备类型 4.修改某个界面...

网友评论

    本文标题:获取当前链接的蓝牙设备

    本文链接:https://www.haomeiwen.com/subject/cklgwctx.html