У меня есть приложение, которое использует BLE для обмена данными с устройством с поддержкой BLE.
Я использовал его для разработки и тестирования с использованием Asus Zenfone Max 3 (Android 8.1), и у меня не было проблем.
ЗатемЯ получил Asus Zenfone Max Pro M1 (Android 8.1).Приложение подключается к устройству, но не может обмениваться какими-либо данными.
После долгих исследований выяснилось, что мне пришлось перейти к Оптимизация батареи в настройках смартфона и изменить Bluetooth и Служба Bluetooth MIDI до Не оптимизировано , и тогда мое приложение работало нормально.
Я не знаю, связано ли это значение по умолчанию с ОС (Android One) или смодель телефона.Но это действительно дурацкая вещь, потому что я не должен говорить каждому клиенту делать это (в настройках его телефона), чтобы приложение работало!
Итак, мой вопрос, это их способ узнать, откод, оптимизированы ли эти сервисы или нет, и могу ли я изменить эти настройки с помощью кода или любых других идей, которые могли бы лучше решить эту проблему.