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

时间:2011-09-23 10:10:36

标签: android bluetooth

我是新来的,我已经阅读了很多帖子,但仍然没有找到问题的解决方案。

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

我想做的是,只要Android-Tablet(顺便说一下整个通信中的Master)检测到其中一个已知的配对设备在范围内,就会自动连接终端设备。< / p>

一种可能性是不断轮询,并试图看看谁在我附近,但这将花费大量的电池寿命,如果我进入范围与一个终端设备和我的Android平板电脑不在在Polling-Process的中间,我不会得到自动连接;我必须等到下一个轮询周期。

这个问题有解决办法吗?

我会像BT-Headsets和我的方便一样工作: - /

感谢您的回答,希望我们能够处理它!

1 个答案:

答案 0 :(得分:0)

我不确定这个解决方案是否有效。我们的想法是获取所有配对设备并循环通过它并尝试使用该设备的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();
        }
     }