Android 如何使用蓝牙检测设备是否靠近手机?

Android 如何使用蓝牙检测设备是否靠近手机?,android,bluetooth,connection,rssi,Android,Bluetooth,Connection,Rssi,我正在尝试创建一个应用程序,希望它检测到已经与手机连接的设备,如果它靠近它,那是因为我想在设备离手机太近时解锁手机 我已经在谷歌的rssi上搜索过了,但问题是,只有当设备与手机没有任何连接时,它才能工作 这是它希望尝试的代码 public class RSSIActivity extends Activity { private BluetoothAdapter BTAdapter = BluetoothAdapter.getDefaultAdapter(); @Override publi

我正在尝试创建一个应用程序,希望它检测到已经与手机连接的设备,如果它靠近它,那是因为我想在设备离手机太近时解锁手机

我已经在谷歌的rssi上搜索过了,但问题是,只有当设备与手机没有任何连接时,它才能工作

这是它希望尝试的代码

public class RSSIActivity extends Activity {

private BluetoothAdapter BTAdapter = BluetoothAdapter.getDefaultAdapter();

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_rssi);
    registerReceiver(receiver, new IntentFilter(BluetoothDevice.ACTION_FOUND));

    Button boton = (Button) findViewById(R.id.button1);
    boton.setOnClickListener(new OnClickListener(){
        public void onClick(View v) {
            BTAdapter.startDiscovery();
        }
    });
}

@Override
public boolean onCreateOptionsMenu(Menu menu) {
    getMenuInflater().inflate(R.menu.activity_rssi, menu);
    return true;
}

private final BroadcastReceiver receiver = new BroadcastReceiver(){
    @Override
    public void onReceive(Context context, Intent intent) {

        String action = intent.getAction();
        if(BluetoothDevice.ACTION_FOUND.equals(action)) {
            int rssi = intent.getShortExtra(BluetoothDevice.EXTRA_RSSI,Short.MIN_VALUE);
            String name = intent.getStringExtra(BluetoothDevice.EXTRA_NAME);
            TextView rssi_msg = (TextView) findViewById(R.id.textView1);
            rssi_msg.setText(rssi_msg.getText() + name + " => " + rssi + "dBm\n");
        }
    }
};
}

但就我而言,该设备已经使用蓝牙与手机连接

有什么建议吗?
谢谢你

发布你的代码你已经尝试过了。我发布了代码!谢谢你的重播。