蓝牙发现的奇怪行为

时间:2014-06-05 06:01:52

标签: android bluetooth

我正在用bluetooth实现一个应用程序。这里我遇到了一个奇怪的问题。我想在扫描我的蓝牙时显示所有可用的设备。但我的应用程序只是发现了蓝牙的pc。手机的蓝牙电话或标签没有显示。为了实现蓝牙功能,我使用了this教程。这是找到蓝牙设备的代码:

  final BroadcastReceiver bReceiver = new BroadcastReceiver() {
        public void onReceive(Context context, Intent intent) {
            String action = intent.getAction();
            // When discovery finds a device
            if (BluetoothDevice.ACTION_FOUND.equals(action)) {
                 // Get the BluetoothDevice object from the Intent
                 BluetoothDevice device = intent.getParcelableExtra(BluetoothDevice.EXTRA_DEVICE);
                 // add the name and the MAC address of the object to the arrayAdapter
                 BTArrayAdapter.add(device.getName() + "\n" + device.getAddress());
                 BTArrayAdapter.notifyDataSetChanged();
            }
        }
    };

   public void find(View view) {
       if (myBluetoothAdapter.isDiscovering()) {
           // the button is pressed when it discovers, so cancel the discovery
           myBluetoothAdapter.cancelDiscovery();
       }
       else {
            BTArrayAdapter.clear();
            myBluetoothAdapter.startDiscovery();

            registerReceiver(bReceiver, new IntentFilter(BluetoothDevice.ACTION_FOUND));    
        }    
   }

我搜索了谷歌,但没有找到任何解决方案。任何帮助都会很棒。

1 个答案:

答案 0 :(得分:1)

首先确保在其他设备上启用了蓝牙。然后使其他设备可被发现。蓝牙菜单中应该有一个选项可以让设备被发现。该设备只能暂时发现(通常约2分钟)。