我让 BleFindMeClient 与 TI Mini Keyfob 一起在 HTC 1X+ 上工作。我正在尝试稍微扩展它以读取电池电量(不注册电池更新)。我可以从 BTool 做到这一点,但我的 Android prog 失败了,我收到了调试消息:
getCharacteristic - 未找到服务数据
这是什么意思?我在哪里可以找到此错误消息和其他错误消息的含义?
显然我可以写特征,因为我可以设置警报。但是关于阅读特性,我没有掌握一些相当基本的东西,但是我找不到示例代码。
有人可以给我一个更好的代码片段,或者在下面发现一些愚蠢的东西吗?
public class BatteryProfileClient extends BleClientProfile {
private static String TAG = "BatteryProfileClient";
static public BleGattID myUuid = new BleGattID("0000180f-0000-1000-8000-00805f9b34fb");
private static final BleGattID BATTERY_CHARACTERISTIC = new BleGattID("00002a19-0000-1000-8000-00805f9b34fb");
private BatteryServiceClient mBatteryServiceClient = new BatteryServiceClient();
public BatteryProfileClient(Context context) {
super(context, myUuid);
Log.d(TAG, "Instantiated");
ArrayList<BleClientService> services = new ArrayList<BleClientService>();
services.add(mBatteryServiceClient);
init(services, null);
}
public void batt(BluetoothDevice device) {
BleCharacteristic battLevelCharacteristic = mBatteryServiceClient.getCharacteristic(device, BATTERY_CHARACTERISTIC);
byte b[] = battLevelCharacteristic.getValue();
Log.d(TAG, "battery " + b);
}
}