0

这是我的代码,从文件中一一读取mac地址(我已经存储)。接下来我想检查我周围是否还有设备。有人可以帮助我吗?

private void search(){
                        String collected;
                       fis=openFileInput(FILENAME);
            byte[] dataArray= new byte[fis.available()];
            while(fis.read(dataArray) != -1){

                          collected = new String(dataArray);
                               // here i want to write that code...

            }//while

}
4

1 回答 1

1

你有两个选择。

  1. 做一个发现,看看它是否出现在结果中(即你是否得到了一个 ACTION_FOUND )。我认为这是一个坏主意,因为它非常耗费资源,因为蓝牙无线电不能真正做任何其他事情,而且它消耗大量频谱,因为它必须在所有频道上广播。

  2. 尝试连接到它,例如做一个套接字连接到一个已知的 UUID。如果设备不在附近,连接将在大约 5 秒内失败(大约是完成发现所需的三分之一)。如果设备在附近,并且您最近连接到它(因此您的蓝牙无线电知道它的时钟偏移),那么您将很快连接到它。

为了实现#2,这是我想到的方法:http: //developer.android.com/reference/android/bluetooth/BluetoothSocket.html#connect()

这里有一些使用它的代码:http: //developer.android.com/guide/topics/wireless/bluetooth.html#ConnectingAsAClient

于 2012-05-09T18:49:49.063 回答