Android 如何使用蓝牙检测设备是否靠近手机?
我正在尝试创建一个应用程序,希望它检测到已经与手机连接的设备,如果它靠近它,那是因为我想在设备离手机太近时解锁手机 我已经在谷歌的rssi上搜索过了,但问题是,只有当设备与手机没有任何连接时,它才能工作 这是它希望尝试的代码Android 如何使用蓝牙检测设备是否靠近手机?,android,bluetooth,connection,rssi,Android,Bluetooth,Connection,Rssi,我正在尝试创建一个应用程序,希望它检测到已经与手机连接的设备,如果它靠近它,那是因为我想在设备离手机太近时解锁手机 我已经在谷歌的rssi上搜索过了,但问题是,只有当设备与手机没有任何连接时,它才能工作 这是它希望尝试的代码 public class RSSIActivity extends Activity { private BluetoothAdapter BTAdapter = BluetoothAdapter.getDefaultAdapter(); @Override publi
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");
}
}
};
}
但就我而言,该设备已经使用蓝牙与手机连接
有什么建议吗?
谢谢你发布你的代码你已经尝试过了。我发布了代码!谢谢你的重播。