获取不成对设备的列表

时间:2017-09-21 16:32:06

标签: java android bluetooth broadcastreceiver

我为扫描未配对的蓝牙设备编写代码...我已经尝试过很多网站进行扫描,但它没有扫描设备......

它是Scan_Button的代码,低于此...我们用来注册找到的设备的广播公司...

    btnScan.setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View v) {

            if (bluetoothAdapter.isDiscovering()) {
                bluetoothAdapter.cancelDiscovery();
                bluetoothAdapter.startDiscovery();
                IntentFilter discoverDeviceIntent = new IntentFilter(ACTION_FOUND);
                registerReceiver(mBroadcastReceiver, discoverDeviceIntent);
            }
            if (!bluetoothAdapter.isDiscovering()) {
                bluetoothAdapter.startDiscovery();
                IntentFilter discoverDeviceIntent = new IntentFilter(ACTION_FOUND);
                registerReceiver(mBroadcastReceiver, discoverDeviceIntent);


            }

        }
    });

    mBroadcastReceiver = new BroadcastReceiver() {
        @Override
        public void onReceive(Context context, Intent intent) {
            final String action = intent.getAction();

            if (action.equals(ACTION_FOUND)) {
                BluetoothDevice device = intent.getParcelableExtra(BluetoothDevice.EXTRA_DEVICE);

                final ArrayAdapter BtArrayAdapter = new ArrayAdapter(MainActivity.this, android.R.layout.simple_list_item_1, list);
                BtArrayAdapter.add(device.getName());
                BtArrayAdapter.add(device.getAddress());
                Toast.makeText(MainActivity.this, "Showing Unpaired Device", Toast.LENGTH_LONG).show();
                unpairlv.setAdapter(BtArrayAdapter);

            }
        }
    }; 

我在Manifest文件中有两个权限......

<uses-permission android:name="android.permission.BLUETOOTH"/>
<uses-permission android:name="android.permission.BLUETOOTH_ADMIN"/>

1 个答案:

答案 0 :(得分:0)

我在另一个问题中回答了类似的问题,但这里有一个示例课程,可以完成你需要的一切。

BluetoothSocket not connecting to target device

它会让你自己被发现,连接,搜索你的BT设备和管理阅读/写作等等。它可以变得非常复杂,所以如果我能从这个课开始你,我建议你接受它并调整它可以满足您的需求,为您节省大量时间。

古德勒克。