Blutooth LE扫描 [英] Blutooth LE Scan

查看:913
本文介绍了Blutooth LE扫描的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我开发一个演示程序来扫描Blutooth乐设备。但startLeScan()返回null。而我没有得到任何设备的名字。我一直在使用正常扫描它精细显示了尝试。我在这里将我的代码片段

I am developing a demo app to scan Blutooth Le devices. But startLeScan() returns null. and I am not getting any device name. I have tried using normal scan it shows up fine. I am adding my snippet here

private void scanLeDevice(final boolean enable) {
        if (enable) {
            // Stops scanning after a pre-defined scan period.
            new Handler().postDelayed(new Runnable() {
                @Override
                public void run() {
                    mScanning = false;
                    mTxtInfo.setText("Stopped Scanning.");
                    mBluetoothAdapter.stopLeScan(mLeScanCallback);
                }
            }, SCAN_PERIOD);

            mScanning = true;
            mTxtInfo.setText("Started Scanning...");
            mBluetoothAdapter.startLeScan(mLeScanCallback);
        } else {
            mTxtInfo.setText("Stopped Scanning.");
            mScanning = false;
            mBluetoothAdapter.stopLeScan(mLeScanCallback);
        }

    }

这是我的职责,开始勒扫描。

This is my function to start Le scan.

// Device scan callback.
    private BluetoothAdapter.LeScanCallback mLeScanCallback = new BluetoothAdapter.LeScanCallback() {
        @Override
        public void onLeScan(final BluetoothDevice device, int rssi,
                byte[] scanRecord) {
            runOnUiThread(new Runnable() {
                @Override
                public void run() {

                    mTxtInfo.setText("Detected devices: " + device.getName());
                    Toast.makeText(MainActivity.this,
                            "Detected devices: " + device.getName(),
                            Toast.LENGTH_LONG).show();
                }
            });
        }


    };

这是回调。而它向我展示

this is the callback. And its showing me

07-04 12:50:17.833: D/BluetoothAdapter(3564): startLeScan(): null

请问AP preciate任何帮助。

Would appreciate any help.

推荐答案

问题还有就是你要使用

startLeScan(callback) 

不设置UUID参数。所以BluetoothAdapter code它做的是这样的:

without setting the Uuid parameter. So the BluetoothAdapter code it's doing something like:

startLeScan(null, callback) 

在背部和印刷

"startLeScan:" + Uuid. 

这对于你为null。

Which for you is null.

这篇关于Blutooth LE扫描的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆