Android搜索蓝牙设备

Android搜索蓝牙设备,android,bluetooth,Android,Bluetooth,我正在尝试查找可用的蓝牙设备 这是我的OnClickListener,当用户尝试搜索可用设备时调用它 View.OnClickListener OnSearchDevices = new View.OnClickListener() { @Override public void onClick(View v) { // TODO Auto-generated method stub //Toast.makeTex

我正在尝试查找可用的蓝牙设备

这是我的OnClickListener,当用户尝试搜索可用设备时调用它

View.OnClickListener OnSearchDevices = new View.OnClickListener() {

        @Override
        public void onClick(View v) {
            // TODO Auto-generated method stub
            //Toast.makeText(context, "Search Devices", Toast.LENGTH_LONG).show();
            Log.d("Discovery", "Started");
            listOfDevices.clear();
            label.setText("Searching Available Devices...");
            label.setEnabled(false);
        }
    };
我还注册了一个广播接收器

private final BroadcastReceiver mReceiver = new BroadcastReceiver() {
        @Override
        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);
                Log.d("DeviceList" , device.getName() + "\n" + device.getAddress());
                MyBluetoothDevice tempDevice = new MyBluetoothDevice();
                tempDevice.setDeviceAddress(device.getAddress());
                tempDevice.setDeviceName(device.getName());
                listOfDevices.add(tempDevice);
                mListAdapter.notifyDataSetChanged();
                //  discovery is finished
            }
            else if (BluetoothAdapter.ACTION_DISCOVERY_FINISHED.equals(action)) {

                Log.d("Discovery","Finished");
                label.setEnabled(true);
                if(listOfDevices.size() == 0)
                {
                    label.setText("No Devices Available!");
                    label.setTextColor(Color.parseColor("#FF0000"));

                }
                else
                {
                    label.setText("Available Devices");
                }

            }
        }
    };

但什么也没发生。它没有显示任何东西。请提供帮助。

您似乎错过了对
mBluetoothAdapter.startDiscovery()的调用。

这可以解释为什么没有得到任何结果,因为适配器甚至没有开始搜索设备

View.OnClickListener OnSearchDevices = new View.OnClickListener() {

        @Override
        public void onClick(View v) {
            // TODO Auto-generated method stub
            //Toast.makeText(context, "Search Devices", Toast.LENGTH_LONG).show();
            Log.d("Discovery", "Started");
            listOfDevices.clear();
            label.setText("Searching Available Devices...");
            label.setEnabled(false);
        }
    };
你的代码在我看来很好