android蓝牙设备超出范围

时间:2012-12-06 04:09:59

标签: android bluetooth

我有以下安卓代码,可以创建与远程设备的蓝牙连接。有没有办法发现远程设备超出范围?

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是否成功。有没有办法确定连接的强度?

1 个答案:

答案 0 :(得分:0)

我不知道任何能够确定设备是否超出范围或者是否刚刚被用户断开的功能,但是您可以做的一件事就是监控RSSI以及它是否先减少断开连接,将其称为超出范围。如果断开连接时有一个字符串信号,请用户将其断开连接。

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