如何以编程方式关闭蓝牙可发现状态。
第一次点击(按钮)我可以让它被发现,并且第二次点击同一个按钮它不能正常工作
我的意思是,如果它处于可发现状态,我应该将其关闭
这是我的代码
bt_strength.setOnClickListener(new OnClickListener() {
public void onClick(View arg0) {
// TODO Auto-generated method stub
// if (mBtAdapter.getScanMode()!= BluetoothAdapter.SCAN_MODE_CONNECTABLE_DISCOVERABLE)
if(!mBtAdapter.isDiscovering())
{
// if(bluetoothimg.getTag().toString().equalsIgnoreCase("off"))
Log.i(TAG, "BLUETOOTH STATUS ON");
bt_strength.setImageResource(R.drawable.bt);
Intent discoverableIntent = new Intent(BluetoothAdapter.ACTION_REQUEST_DISCOVERABLE);
discoverableIntent.putExtra(BluetoothAdapter.EXTRA_DISCOVERABLE_DURATION, 3600);
startActivity(discoverableIntent);
}
else if(mBtAdapter.isDiscovering()){
bt_strength.setImageResource(R.drawable.bt_grey);
// Intent discoverableIntent = new Intent(BluetoothAdapter.ACTION_REQUEST_DISCOVERABLE);
// discoverableIntent.putExtra(BluetoothAdapter.EXTRA_DISCOVERABLE_DURATION, 1);
// startActivity(discoverableIntent);
mBtAdapter.cancelDiscovery();
}
我们非常感谢任何帮助,谢谢
答案 0 :(得分:0)
您在if子句中所做的是,您启用了可发现模式 - 这意味着其他蓝牙设备可以看到您的设备。
但是你在else-if-clause中所做的事情就是你取消了发现 - 这意味着你停止搜索其他设备。
你现在所写的评论(在else-if-clause中)应该是最好的工作,但不是完美的解决方案,关于: Disable Bluetooth discoverable mode on Android