无法在textView

时间:2016-03-12 20:47:25

标签: android bluetooth

我希望设备名称在我的应用的textView中显示,因为它们在扫描过程中被发现但没有显示。

我看到蓝牙已成功启用,我的其他设备可见,但没有任何显示。

bluetoothAdapter = (BluetoothAdapter.getDefaultAdapter());
    bluetoothAdapter.enable();
    bluetoothAdapter.startDiscovery();
    BroadcastReceiver mReceiver = new BroadcastReceiver() {
        public void onReceive(Context context, Intent intent) {
            String action = intent.getAction();

            //Finding devices
            if (BluetoothDevice.ACTION_FOUND.equals(action)) {
                // Get the BluetoothDevice object from the Intent
                BluetoothDevice device = intent.getParcelableExtra(BluetoothDevice.EXTRA_DEVICE);
                // Add the name and address to an array adapter to show in a ListView
                textView.append(device.getAddress());
            }
        }
    };

    IntentFilter filter = new IntentFilter(BluetoothDevice.ACTION_FOUND);
    registerReceiver(mReceiver, filter);

我知道上面的代码有点打算用在listView中,但是它还不能用于textView吗?

1 个答案:

答案 0 :(得分:0)

我想我在这里找到了问题。

当您调用bluetoothAdapter.startDiscovery()时,发生了什么问题?就在bluetoothAdapter.enable();

之后

在开始使用它之前,适配器显然需要几秒钟才能完成所有设置。

所以我在那些之间稍微拖延了一下:

bluetoothAdapter.enable();
    try {
        Thread.sleep(3000);//3 seconds
    } catch(InterruptedException ex) {
        Thread.currentThread().interrupt();
    }
    bluetoothAdapter.startDiscovery();

现在一切似乎都有效。