我有一个问题 特征通知,我关注Android的文档并在许多堆栈溢出帖子中搜索。我所有的代码都有效,直到我尝试从我的设备获取数据,当我订阅通知时,我得到这个日志: 蓝牙Gatt:setCharacterticNotification() 但我的方法从未被调用
我的UUID很好,我的服务发送的数据我已经用其他应用程序检查过了。我为我的应用程序启用位置。
我在清单中拥有此权限:
uses-permission Android:name = " Android . permission . bluetooth " Android:required = " true " < br > uses-permission Android:name = " Android . permission . bluetooth _ ADMIN " uses-permission Android:name = " Android . permission . access _ COARSE _ LOCATION "
我试过3部手机,都是三星的,但Android版本不同
我真不明白发生了什么
以下是我的回电:
private final BluetoothGattCallback gattCallback = new BluetoothGattCallback() {
@Override
public void onConnectionStateChange(BluetoothGatt gatt, int status, int newState) {
switch (newState) {
case BluetoothProfile.STATE_CONNECTED:
Log.i("gattCallback", "STATE_CONNECTED");
gatt.discoverServices();
break;
case BluetoothProfile.STATE_DISCONNECTED:
Log.e("gattCallback", "STATE_DISCONNECTED");
break;
default:
Log.e("gattCallback", "STATE_OTHER");
}
}
@Override
public void onServicesDiscovered(BluetoothGatt gatt, int status) {
Log.i("onServicesDiscovered", "connection to service");
BluetoothGattCharacteristic characteristic =
gatt.getService(UUID.fromString("a389d578-6285-4b3d-a9dc-b83a2ba4c095"))
.getCharacteristic(UUID.fromString("9ecbe31b-f77e-4886-a0a8-c416906387e7"));
gatt.readCharacteristic(characteristic);
BluetoothGattDescriptor descriptor = characteristic.getDescriptor(UUID.fromString("00002902-0000-1000-8000-00805F9B34FB"));
descriptor.setValue(BluetoothGattDescriptor.ENABLE_NOTIFICATION_VALUE);
descriptor.setValue(BluetoothGattDescriptor.ENABLE_INDICATION_VALUE);
gatt.writeDescriptor(descriptor);
gatt.setCharacteristicNotification(characteristic, true);
}
@Override
public void onCharacteristicRead(BluetoothGatt gatt,
BluetoothGattCharacteristic
characteristic, int status) {
Log.i("onCharacteristicRead", "read");
}
@Override
public void onCharacteristicChanged(BluetoothGatt gatt, BluetoothGattCharacteristic characteristic) {
Log.i("onCharacteristicChanged", "changement");
}
};
两个错误:
1.
descriptor.setValue(BluetoothGattDescriptor.ENABLE_NOTFICATION_VALUE);
descriptor.setValue(BluetoothGattDescriptor.ENABLE_INDICATION_VALUE);
第二次调用覆盖第一个值。
问题内容: 我有一个自定义我在我农具。 问题是该方法从未调用过。我想我需要在我的主适配器而不是自定义适配器中实现它。 MyListViewAdapter.java : 我对吗? 问题答案: 为什么在适配器内部会有OnItemClickListener?您可能在Adapter内有OnClickListener,或者最佳实践是将OnItemClickListener设置为ListView或您在活动/片
问题内容: 我有一个自定义适配器,可显示订单列表中的每一行。 从Web服务查询新的订单列表之后,我想更新ListView的内容,因此我让Activity在调用notifyDataSetChanged()之前进行更新。 但是,从不调用OrderRowAdapter的getView()方法。ListView永远不会更新。 问题答案: 原来我不被叫的问题是因为它不可见。我的布局XML已经上与它的高度。因
我创建了一个节点lambda函数,它对Aurora数据库进行简单调用。当我在控制台中测试该函数时,查询返回,我可以在日志中看到结果,但回调似乎永远不会被调用,所以我的lambda函数超时了。我无法找出问题所在。希望这里有人能指出我的问题。 生成的Cloudwatch日志如下所示。。。
嗨,我在主片段内使用带有碎片网的viewPager。我试图从画廊或相机中获取图像到位图,但在选择照片并启动ActivityForResult后,它不会在onActivityResult中捕获... 以下是我如何调用startActivityForResult: 这是我的onActivityResult: 有什么想法吗?
我试图在用户轻击或长按时在映射中的某个地方放一个标记,我在方法中放一个toast并登录以了解发生了什么,我注意到这些方法从未被调用,我做错了什么?我正在使用最新的osmdroid和osmbonuspack版本,并且运行良好,下面是我的代码:
我正在使用PhantomJS 1.8.2使用JsTestDriver运行一些Jasmine单元测试。使用Chrome测试运行良好,但是使用PhantomJS的大约一半时间,测试结果是没有找到测试用例。 我已经将问题缩小到PhantomJS:无法打开本地JsTestDriver页面()。下面是如何重现的,大约50%的情况下,Loaded…with status…消息从未显示: 在本地启动 JsTes