0

我有以下 android 代码,它创建与远程设备的蓝牙连接。有什么方法可以发现远程设备超出范围?

private void connectToRobot(BluetoothDevice bd){            
    try{
        Method m = bd.getClass().getMethod("createRfcommSocket", 
            new Class[] {int.class});
        socket = (BluetoothSocket) m.invoke(bd, 1);

        socket.connect();               
        Toast.makeText(AndroidBluetooth.this,"CONNECTED ", 
            Toast.LENGTH_LONG).show();

        os = socket.getOutputStream();
    }catch (Exception e){        
        Log.e(tag,"Error interacting with remote device [" + 
            e.getMessage() +"]");               
    }        
}

我现在唯一能得到的信息是 BluetoothSocket 是否成功。有没有办法确定连接的强度?

4

1 回答 1

0

我不知道有任何功能可以确定设备是否超出范围或用户是否刚刚断开连接,但是您可以做的一件事是监控 RSSI,如果它在断开连接之前降低,请致电它超出范围。如果断开时有字符串信号,则用户称其为断开。

如果某个答案对您有帮助,您应该将其标记为已接受的答案,以提高您的接受率并帮助将来可能查看这些帖子的其他人。(您有几个问题的答案未被接受)。

于 2012-12-06T04:27:00.190 回答