6

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

这是我的 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");
                }

            }
        }
    };

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

4

1 回答 1

5

看起来你错过了对mBluetoothAdapter.startDiscovery().

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

否则,您的代码对我来说看起来不错。

于 2013-06-12T06:37:51.053 回答