Проблема обнаружения службы Android 14Android

Форум для тех, кто программирует под Android
Ответить
Anonymous
 Проблема обнаружения службы Android 14

Сообщение Anonymous »

У меня есть библиотека .jar, которую я использую в другом проекте.
Что-то изменилось между Android 13 и Android 14, что вызывает эту проблему.
В своей библиотеке я сканирую устройство BLE и подключаюсь к нему.
Во время обратного вызова библиотеки из ОС Android у меня есть следующий код:

Код: Выделить всё

    @Override
public void onConnectionStateChange(BluetoothGatt gatt, int status, int newState) {

androidBluetoothLog("onConnectionStateChange");

String deviceAddress = gatt.getDevice().getAddress();

if (newState == BluetoothProfile.STATE_CONNECTED) {

removeConnectingDevice(deviceAddress, false);

// start discovering services
gatt.discoverServices();

} else if (newState == BluetoothProfile.STATE_DISCONNECTED) {

removeConnectingDevice(deviceAddress, false);

gatt.close();
}
}
Как видите, я вызываю gatt.discoverServices(); Это должно перечислить службы и характеристики, а затем вызвать обратный вызов onServicesDiscovered.
Мой onServicesDiscovered выглядит следующим образом:

Код: Выделить всё

    @Override
// New services discovered
public void onServicesDiscovered(BluetoothGatt gatt, int status) {

if (status == BluetoothGatt.GATT_SUCCESS) {

androidBluetoothLog("Services Discovered");

List services = gatt.getServices();
if (services != null) {
androidBluetoothLog("Service Count: " + services.size());

String deviceAddress = gatt.getDevice().getAddress();
for (BluetoothGattService service : services) {

List characteristics = service.getCharacteristics();
for (BluetoothGattCharacteristic characteristic : characteristics) {
androidBluetoothLog("Characteristic found");
}
}
}
} else {

androidBluetoothLog("Error~Service Discovery " + status);
}
}
При запуске на Android 13 все работает правильно. Количество служб > 0, и я могу перечислить все службы и характеристики.
Когда я запускаю тот же код на Android 14, количество служб всегда равно 0.
Я пробовал добавлять задержки тут и там с помощью режима сна, но, похоже, ничего не помогает.
Что изменилось между Android 13 и Android 14, что могло вызвать это?>

Подробнее здесь: https://stackoverflow.com/questions/775 ... very-issue
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Android»