Android 与配对设备的蓝牙自动连接

Android 与配对设备的蓝牙自动连接,android,bluetooth,Android,Bluetooth,我是新来的,我读了很多你的帖子,但仍然没有找到解决我问题的方法 我正在为Android 2.2编写一个应用程序,使用蓝牙连接到终端设备。 我有一个配对设备的列表,我可以将我的Android平板电脑与我已知的每个设备连接起来 我想做的是,一旦安卓平板电脑(顺便说一句,在整个通信中是主控设备)检测到已知配对设备之一在范围内,就自动连接到终端设备 一种可能是不断地轮询和尝试看谁在我附近,但是那将花费很多电池寿命,并且如果我进入范围与一个末端设备和我的安卓平板不在轮询过程中间,我不会得到自动连接;我将不

我是新来的,我读了很多你的帖子,但仍然没有找到解决我问题的方法

我正在为Android 2.2编写一个应用程序,使用蓝牙连接到终端设备。 我有一个配对设备的列表,我可以将我的Android平板电脑与我已知的每个设备连接起来

我想做的是,一旦安卓平板电脑(顺便说一句,在整个通信中是主控设备)检测到已知配对设备之一在范围内,就自动连接到终端设备

一种可能是不断地轮询和尝试看谁在我附近,但是那将花费很多电池寿命,并且如果我进入范围与一个末端设备和我的安卓平板不在轮询过程中间,我不会得到自动连接;我将不得不等到下一个投票周期

这个问题有什么解决办法吗

我希望整个过程都能像BT耳机和我的handy一样工作:-/


谢谢你的回答,希望我们能处理

我不确定这个解决方案是否有效。其想法是获取所有配对设备并循环通过它,然后尝试使用该设备的MAC地址进行连接

    String macAddress;     
    for (BluetoothDevice device : pairedDevices) {

    BluetoothSocket bluetoothSocket = null;
    try {
        if (bluetoothSocket == null || !bluetoothSocket.isConnected()) {
        bluetoothSocket = device.createRfcommSocketToServiceRecord(MYUUID);
        mBluetoothAdapter.cancelDiscovery();
        if(!bluetoothSocket.isConnected()){
            bluetoothSocket.connect();
        }
        if (bluetoothSocket.getInputStream() != null && bluetoothSocket.getOutputStream() != null) {
            macAddress = device.getAddress();
        }
     }