私は公式のアンドロイド開発者ウェブサイトのコードを使用していますが、特徴を読むのが難しいと感じています
すべての uuid を反復するときに、displayGattServices 関数の DeviceControlActivity クラスで gatt 特性の読み取り呼び出しを作成するために、このコードを使用します。
mBluetoothLeService.readCharacteristic(new BluetoothGattCharacteristic(
UUID.fromString(uuid),
BluetoothGattCharacteristic.PERMISSION_READ,
BluetoothGattCharacteristic.PROPERTY_READ));
readCharacteristic 関数 int BluetoothLeService calss は次のとおりです。
public void readCharacteristic(BluetoothGattCharacteristic characteristic) {
if (mBluetoothAdapter == null || mBluetoothGatt == null) {
Log.w(TAG, "BluetoothAdapter not initialized");
return;
}
mBluetoothGatt.readCharacteristic(characteristic);
}
また、BluetoothLeService クラスのコールバックは次のとおりです。
@Override
public void onCharacteristicRead(BluetoothGatt gatt,
BluetoothGattCharacteristic characteristic,
int status) {
if (status == BluetoothGatt.GATT_SUCCESS) {
broadcastUpdate(ACTION_DATA_AVAILABLE, characteristic);
}
コールバックにブレークポイントを設定しましたが、そこで停止することはありません...許可またはプロパティでしょうか? 他に何か?...誰かがそれの実例を持っていますか?