3

プログラムで Bluetooth を検出可能な状態にする方法を教えてください。

最初のクリック(ボタン)で発見可能にすることができ、同じボタンを2回クリックすると機能しません

つまり、発見可能な状態にある場合は、それをオフにする必要があります

これが私のコードです

     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句で実行しているのは、検出可能モードを有効にすることです。つまり、デバイスが他のBluetoothデバイスから認識される可能性があります。

ただし、else-if-clauseで実行しているのは、検出をキャンセルすることです。つまり、他のデバイスの検索を停止します。

あなたが今(else-if-clauseで)解説として書いたものは、以下に関して、完璧ではありませんが、最も効果的な解決策であるはずです: AndroidでBluetooth検出可能モードを無効にする

于 2013-03-11T14:55:25.950 に答える