3

我们如何以编程方式关闭蓝牙可发现状态。

在第一次点击(按钮)时,我可以让它被发现,第二次点击同一个按钮它不起作用

我的意思是,如果它处于可发现状态,我应该让它离开

这是我的代码

     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();


            }

任何帮助总是很感激,谢谢

4

1 回答 1

0

您在 if 子句中所做的是启用可发现模式 - 这意味着您的设备可以被其他蓝牙设备看到。

但是您在 else-if-clause 中所做的事情是取消发现 - 这意味着您停止搜索其他设备。

你现在写的评论(在 else-if 子句中)应该是最好的工作,虽然不是完美的解决方案,关于: 在 Android 上禁用蓝牙可发现模式

于 2013-03-11T14:55:25.950 回答