蓝牙扫描设备

Binsento R.

我的代码有问题:

private ScanCallback mLeScanCallback = new ScanCallback(){
    //Callback when a BLE advertisement has been found.
    @Override
    public void onScanResult(int callbackType, final android.bluetooth.le.ScanResult result) {
        super.onScanResult(callbackType, result);

       new Thread(){
           @Override
           public void run() {
               final BluetoothDevice device = result.getDevice();

               runOnUiThread(new Runnable() {
                   @Override
                   public void run() {
                       if (device != null){
                           mDevices.add(device);
                       }
                   }
               });
           }
       }.start();

    }

    //Callback when batch results are delivered.
    @Override
    public void onBatchScanResults(List<android.bluetooth.le.ScanResult> results) {
        super.onBatchScanResults(results);
    }

    //Callback when scan could not be started.
    @Override
    public void onScanFailed(int errorCode) {
        super.onScanFailed(errorCode);
    }

目前,我正在使用此代码来获取扫描结果。这是基于:https : //github.com/RedBearLab/Android/blob/master/Examples/Chat/src/com/redbear/chat/Main.java#L138

所基于的应用程序的API级别较低,而我的应用程序的API级别较高。所以我将其更改为on startScan()方法。

老实说,我被困住了,因为当我运行该应用程序时,我没有任何错误。我检查了mDevices数组是否为空。这意味着该代码不会将设备添加到阵列中,或者我的应用程序没有专门找到任何设备。

任何帮助将不胜感激。

激活扫描代码

private void scanDevice(){
    new Thread() {
        @Override
        public void run(){
            BTScanner.startScan(mLeScanCallback);

            try {
                Thread.sleep(SCAN_PERIOD);
            } catch (InterruptedException e){
                e.printStackTrace();
            }

            BTScanner.stopScan(mLeScanCallback);
        }


    }.start();
}
Binsento R.

找到了问题。它与ACCESS_COARSE_LOCATION或ACCESS_FINE_LOCATION的权限有关,以获取扫描结果。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在 Qt 中扫描蓝牙设备

来自分类Dev

扫描蓝牙设备时出现错误

来自分类Dev

蓝牙LE扫描未检测到设备

来自分类Dev

CoreBLuetooth限制ios无法扫描所有蓝牙设备?

来自分类Dev

蓝牙关闭时,iBeacon可以扫描iOS设备吗?

来自分类Dev

如何通过dbus API扫描蓝牙LE设备?

来自分类Dev

使用MIT App Inventor 2扫描蓝牙设备

来自分类Dev

适用于经典AND BTLE设备的Android蓝牙扫描

来自分类Dev

Android蓝牙设备仅扫描了一次

来自分类Dev

低功耗蓝牙设备扫描失败,发生异常

来自分类Dev

iOS Core蓝牙扫描问题,找不到目标BT设备

来自分类Dev

扫描蓝牙设备并在 ListView 中显示它们的 UUID

来自分类Dev

如何每秒(或更少)扫描所有蓝牙设备

来自分类Dev

对设备应用策略后,蓝牙扫描和显示设备不起作用

来自分类Dev

核心蓝牙框架不扫描所有BLE设备和Apple BLE设备

来自分类Dev

Android:将蓝牙经典扫描与低能耗扫描分开,或将经典设备与低能耗设备区分开

来自分类Dev

Android:将蓝牙经典扫描与低能耗扫描分开,或将经典设备与低能耗设备区分开

来自分类Dev

扫描蓝牙和蓝牙LE

来自分类Dev

扫描蓝牙和蓝牙LE

来自分类Dev

如何在Windows 8桌面中扫描低功耗蓝牙设备?

来自分类Dev

如何通过其他方法识别通过蓝牙扫描的设备

来自分类Dev

如何检查配对的蓝牙设备是打印机还是扫描仪(Android)

来自分类Dev

BlueZ / Pybluez-连接到外围设备时进行蓝牙LE扫描

来自分类Dev

无法获得警报管理器来触发蓝牙设备的扫描

来自分类Dev

扫描蓝牙设备时未使用NSTimer更新iOS背景视图

来自分类Dev

蓝牙已打开,但无法在Ubuntu 16.04上扫描任何设备

来自分类Dev

在配对或连接蓝牙扫描仪(Inateck)和移动设备时,活动被破坏

来自分类Dev

蓝牙4.0扫描响应

来自分类Dev

蓝牙LE后台扫描

Related 相关文章

  1. 1

    在 Qt 中扫描蓝牙设备

  2. 2

    扫描蓝牙设备时出现错误

  3. 3

    蓝牙LE扫描未检测到设备

  4. 4

    CoreBLuetooth限制ios无法扫描所有蓝牙设备?

  5. 5

    蓝牙关闭时,iBeacon可以扫描iOS设备吗?

  6. 6

    如何通过dbus API扫描蓝牙LE设备?

  7. 7

    使用MIT App Inventor 2扫描蓝牙设备

  8. 8

    适用于经典AND BTLE设备的Android蓝牙扫描

  9. 9

    Android蓝牙设备仅扫描了一次

  10. 10

    低功耗蓝牙设备扫描失败,发生异常

  11. 11

    iOS Core蓝牙扫描问题,找不到目标BT设备

  12. 12

    扫描蓝牙设备并在 ListView 中显示它们的 UUID

  13. 13

    如何每秒(或更少)扫描所有蓝牙设备

  14. 14

    对设备应用策略后,蓝牙扫描和显示设备不起作用

  15. 15

    核心蓝牙框架不扫描所有BLE设备和Apple BLE设备

  16. 16

    Android:将蓝牙经典扫描与低能耗扫描分开,或将经典设备与低能耗设备区分开

  17. 17

    Android:将蓝牙经典扫描与低能耗扫描分开,或将经典设备与低能耗设备区分开

  18. 18

    扫描蓝牙和蓝牙LE

  19. 19

    扫描蓝牙和蓝牙LE

  20. 20

    如何在Windows 8桌面中扫描低功耗蓝牙设备?

  21. 21

    如何通过其他方法识别通过蓝牙扫描的设备

  22. 22

    如何检查配对的蓝牙设备是打印机还是扫描仪(Android)

  23. 23

    BlueZ / Pybluez-连接到外围设备时进行蓝牙LE扫描

  24. 24

    无法获得警报管理器来触发蓝牙设备的扫描

  25. 25

    扫描蓝牙设备时未使用NSTimer更新iOS背景视图

  26. 26

    蓝牙已打开,但无法在Ubuntu 16.04上扫描任何设备

  27. 27

    在配对或连接蓝牙扫描仪(Inateck)和移动设备时,活动被破坏

  28. 28

    蓝牙4.0扫描响应

  29. 29

    蓝牙LE后台扫描

热门标签

归档