【问题标题】:Bluetooth discoverable state OFF programatically on button click蓝牙可发现状态在按钮单击时以编程方式关闭
【发布时间】:2012-06-15 11:44:38
【问题描述】:

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

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

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

这是我的代码

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


            }

感谢您的任何帮助,谢谢

【问题讨论】:

    标签: android button bluetooth discoverability


    【解决方案1】:

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

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

    您现在(在 else-if-clause 中)作为评论所写的内容应该是最好的解决方案,但并非完美,涉及: Disable Bluetooth discoverable mode on Android

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-03-01
      • 1970-01-01
      • 2013-10-09
      • 1970-01-01
      • 2011-08-24
      • 1970-01-01
      相关资源
      最近更新 更多