草庐IT

BLE特性

全部标签

Android动态特性模块,找不到资源

当已下载的功能模块发布到Play商店时,我在启动Activity时遇到问题。它总是在下载的模块Activity中的setContentView()上崩溃。java.lang.RuntimeException:UnabletostartactivityComponentInfo{xxx/xxxActivity}:android.content.res.Resources$NotFoundException:ResourceID#0x7e080000Causedby:android.content.res.Resources$NotFoundException:ResourceID#0x7

android - 尝试查找 BLE 设备时如何使用 LeScanCallback?

我正在开发一个Android应用程序,我希望它能找到并列出BLE设备。这里没有太多主题,我不明白。我试过使用startLeScan(BluetoothAdapter.LeScanCallbackcallback);但是Eclipse说LeScanCallback无法解析或者不是一个字段(我对BluetoothManager和LeDeviceListAdapter有同样的问题)。我拥有所有BT权限、导入的BluetoothGatt、BluetoothGattCallback并将SamsungSDKjar文件放在正确的位置。我错过了什么?我已经使用了来自Android开发者页面的这个代码建

Android 低功耗蓝牙特性通知计数限制 : does this vary by device?

上下文我正在构建一个针对5.0+的Android应用程序,它使用BLE连接到多个外围设备。这些外围设备中的每一个都有许多(~10)个特性。理想情况下,我想订阅这些特征中每一个特征的更改通知。但是,我从阅读中了解到,Android的蓝牙实现对可以同时激活的通知数量实现了硬性限制。Thisquestion标识在Android蓝牙implementation中定义限制的位置,并且还注意到限制是如何随时间变化的:Maxconcurrentactivenotifications(BTA_GATTC_NOTIF_REG_MAX):4onAndroid4.37onAndroid4.415onAndr

android - 如何修复 Nexus 5 上的 Android BLE SCAN_FAILED_FEATURE_UNSUPPORTED?

在android上发现BLE设备时,我在某些设备(LG更详细)上有此onScanFailed错误代码。该代码在其他设备上按预期工作。我该如何解决?我使用BLEAPI21+和以下代码来发现:ScanSettingsscanSettings=newScanSettings.Builder().setScanMode(ScanSettings.SCAN_MODE_LOW_LATENCY).setReportDelay(discoveryDelay).build();这里是完整的来源:https://github.com/4ntoine/protobuf-ble-rpc/blob/hi-p/a

Android 7.0 ble扫描无结果

当我开始ble(BluetoothLe)扫描几秒钟,然后停止扫描。然后开始,然后停止...大约5-8次循环后,开始Action将是Noeffect,这意味着没有接收到扫描记录。1.此情况仅出现在Android7.0或以上版本(7.1.1);2.我尝试了两种扫描方法:BluetoothAdapter.startLeScan()和Scanner.startScan(),没有区别。privatevoidscanToggle(finalbooleanenable){mScanHandler.removeCallbacks(scanTask);if(enable){TelinkLog.i("AD

android - 在 Android 中启用蓝牙特性通知(蓝牙低功耗)不起作用

如果我们在角色上调用setCharacteristicNotification,不在值更改时提供远程通知?如何在蓝牙LE中的中央设备上启用远程通知? 最佳答案 要在Android上启用远程通知,setCharacteristicNotification(characteristic,enable)是不够的。需要为特性编写描述符。外设必须在创建特征时启用特征通知。一旦启用Notify,它将有一个句柄为0x2902的描述符。所以我们需要将BluetoothGattDescriptor.ENABLE_NOTIFICATION_VALUE写

android - 多次调用 startLeScan 方法不能正确扫描 BLE 设备

我试图在我的Android应用程序中多次调用startLeScan方法,它第一次扫描BLE设备,从第二次开始它无法扫描设备。我在我的应用程序中进行了循环扫描,每10秒停止一次扫描并重新开始。这里有一些日志显示了我的应用程序的行为方式。05-2000:45:31.14615841-15841/XXXXXD/BluetoothAdapter﹕stopLeScan()05-2000:45:31.14715841-15841/XXXXXD/BluetoothAdapter﹕startLeScan():null05-2000:45:31.16015841-15852/XXXXXD/Bluetoo

Android Ble断开连接时间延迟

我写了一些代码来将我的android手机连接到一个ble设备。当我关闭ble设备电源时,我的手机需要几秒钟(2-20秒)通知我它已失去与ble设备的连接。有什么方法可以立即通知我?我可以更改连接监督超时吗? 最佳答案 当Ble设备发送disconnectscmd时,它等待来自android应用程序的确认。如果收到ACK,它将立即断开连接,否则它将等到监督超时发生。通常在与Android应用程序连接时,ble设备(外围设备)必须遵守应用程序(中央)连接参数(连接间隔、延迟、监督超时).Android中的监督超时被硬编码为20秒,因此我

Android BLE ScanCallback 低延迟

我正在构建BLEAndroid。我的应用程序使用SCAN_MODE_LOW_POWER作为设置扫描具有后台服务24/7的BLE设备(这对我的应用程序来说是必不可少的)。当我找到与我的应用程序相关的设备时,我切换到SCAN_MODE_LOW_LATENCY因为此时我的应用程序每1秒计数一次。使用SCAN_MODE_LOW_LATENCY,我会密集接收ScanCallback,但在某些时候,比如当设备处于sleep模式时,我会密集接收10-11回调,然后暂停3-4秒,然后再次回调。这3-4秒的延迟/暂停对我的应用毫无帮助。即使设备处于sleep或打瞌睡模式,是否也可以进行密集的ScanCa

android - 在 Android 4.3 蓝牙 BLE 上重置蓝牙芯片后调用 BluetoothGatt.connect() 时捕获 DeadObjectException

我正在开发一款利用Android4.3中新的蓝牙BLEAPI的应用。我使用了适用于Android4.2的SamsungBLEStack,它工作正常,即使稳定性可能会更好。现在有了4.3,对于每个客户端连接,我们都有一个BluetoothGatt类的实例。也就是说,我通过调用连接到一个BLE设备BluetoothGattgatt=device.connectGatt(this,true,callbacks);这些BluetoothGatt对象是用于与设备实际交互的对象。因为我想连接到多个设备并与之交互,所以我将BluetoothGatt实例缓存在定义为我服务的私有(private)属性的