草庐IT

低功耗

全部标签

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

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

与 API>=21 AND API<21 兼容的 Android 低功耗蓝牙代码

我正在开发一个必须与BLE设备连接的应用程序,在我的代码中,我想使用从API21(Android5)实现的BLE的新Scan和ScanCallback,但我必须保持与Android4.3的兼容性及以上。所以我写了代码,比如,是这样写的:if(Build.VERSION.SDK_INT>=21){mLEScanner.startScan(filters,settings,mScanCallback);}else{btAdapter.startLeScan(leScanCallback);}我已经定义了2个回调,一个用于API21及更高版本,一个用于API18到20://API21priv

android - 屏幕关闭时,低功耗蓝牙扫描结果的传送会减少

我正在开发一个使用低功耗蓝牙从外围设备接收数据的安卓应用程序。设备本身将数据作为其广告消息的一部分发送,并且可以随时发送消息。因此,应用程序通过持续扫描BLE设备来工作。当屏幕打开时,应用程序会按预期接收扫描结果。当屏幕关闭时,它似乎每5秒才接收一次扫描结果。我猜手机正在努力优化电池生命周期,但这个应用程序是关键任务,所以我们不能丢失消息。扫描由设置为“前台服务”的服务完成,以便操作系统知道它很重要。该服务还获取了一个PowerManager.PARTIAL_WAKE_LOCK,但这似乎没有帮助。该应用程序被排除在电池优化之外,因此它不会进入打瞌睡或深度sleep模式。该应用程序使用以

android - 如何计算Android应用程序的功耗?

有没有什么公式,API或者方法?我想测试不同应用程序的功耗。 最佳答案 使用adb工具可以查看每个正在运行的应用程序的功耗adbshelldumpsyscpuinfo示例输出Load:1.12/1.07/1.01CPUusagefrom11344msto1613msago:10%122/system_server:5.8%user+4.5%kernel/faults:989minor0%233/com.htc.android.wallpaper:0%user+0%kernel/faults:910minor0.8%271/com.h

Android 低功耗蓝牙 readRemoteRssi

我不知道如何让“onReadRemoteRssi”回调工作。我的代码很简单:finalBluetoothManagerbluetoothManager=(BluetoothManager)getSystemService(Context.BLUETOOTH_SERVICE);BluetoothAdaptermBluetoothAdapter=bluetoothManager.getAdapter();BluetoothGattgatt;mBluetoothAdapter.startLeScan(newLeScanCallback(){@OverridepublicvoidonLeSca

android - Android 设备上的低功耗蓝牙 RSSI 会定期更改

我注意到Android设备接收到的低功耗蓝牙信号强度是周期性变化的。下图表示一个BLE信标在两分钟内的RSSI值。接收机器人和信标都是静止的,距离为1米。我确保干扰尽可能少。Android是Nexus5,但我在其他Android设备上遇到了同样的现象,它们都运行在API21上。我还不能在iOS上测试它。RSSIGraph您可以看到RSSI有3个主要级别,每15秒重复一次,如低->中->高->低->中->高等。我的猜测是android端的原因,不知道是硬件原因还是软件原因。为什么RSSI随时间循环?谁能解释一下? 最佳答案 在阅读了很

java - Android 低功耗蓝牙 : characteristic. getPermissions() 返回 0?

我正在编写一个AndroidBLE应用程序,我正在尝试获取某个特性的权限。我已经设法使用characteristic.getProperties()获取特征属性,它返回一个非零值,但是,当我使用getPermission()方法时它返回0,即使我确定该特征具有PE​​RMISSION_WRITE_ENCRYPTED_MITM(0x00000040).这是一段代码//propertiesintproperties=ch.getProperties();DebugWrapper.infoMsg("properties:"+properties,TAG);//returnsnon-zerov

android - 完全断开蓝牙低功耗设备

我在Android中使用connectGatt()方法连接到BLE设备。这很好用。当我断开连接时,我使用以下内容:privatevoiddisconnectDevice(){gatt.disconnect();}当我收到回调时,我会关闭。privateBluetoothGattCallbackgattCallback=newBluetoothGattCallback(){@OverridepublicvoidonConnectionStateChange(BluetoothGattgatt,intstatus,intnewState){switch(newState){caseBlue

android - Nexus 4 上的 Android 4.3 蓝牙低功耗服务发现

我正在尝试将BLE模块(bluegigaBLE112)与我的nexus4(android4.3)一起使用。我可以连接,获取设备名称,连接到GATT,但服务发现失败。这是初始gatt连接的方式(似乎成功运行:dev.connectGatt(getBaseContext(),true,btGattCB);这是GATT回调:privateBluetoothGattCallbackbtGattCB=newBluetoothGattCallback(){@OverridepublicvoidonConnectionStateChange(BluetoothGattgatt,intstatus,i

java - 如何计算Android中的传感器功耗

getPower()返回传感器在使用时使用的功率(以mA为单位):现在,我需要计算传感器注册使用了多少电池。getPower()返回的值是表示mAH(毫安每小时)还是其他?如果是,是否有办法获取电池mAH以计算传感器使用的电池百分比? 最佳答案 不久前在Google群组中讨论了一些非常相关的内容。您可以找到fullthreadhere供引用。该线程中最后一个回复的一小段摘录,应该或多或少地回答了您的问题:(...)thebatterycapacityisalwaysgivenintermsofmAH.(...)Whatmatters