Я разрабатываю автономное приложение для передачи фотографий с использованием Nearby Connections 2.0. Реклама, обнаружение, отправка полезных данных в байтах, примеры приложений Google (RockPaperScissors и WalkieTalkie) работают нормально, но у меня есть 2 проблемы.
Во-первых, что наиболее важно, после успешного установления соединения между устройствами я отправляю полезную нагрузку байта, чтобы дать команду «сделать снимок» с устройства рекламодателя, обнаружитель получает полезную нагрузку и делает фотографию, а затем отправляет эту фотографию рекламодателю в виде полезная нагрузка файла. Проблема возникает здесь, поскольку устройства часто отключаются, когда обнаружитель отправляет полезную нагрузку файла, еще до того, как вызывается метод onPayloadReceived рекламодателя. Я пытался уменьшить размер фотографий до 30 КБ, что редко решает проблему. Когда я переключаю устройства, делая старого рекламодателя новым открывателем, а старого открывателя новым рекламодателем, проблема возникает не часто, даже без уменьшения размера полезной нагрузки (полезная нагрузка около 30 КБ почти никогда не дает мне этой проблемы с переключаемыми устройствами). ). Единственный журнал, который я получаю из поблизости, это:
.
Первая строка записывается в журнал при установлении соединения, вторая строка записывается при отключении устройств.
Во-вторых, обнаружение и инициирование соединения иногда занимают минуты, но редко превышают 30 секунд. Когда они это делают, я получаю эту ошибку в журнале:
Оба устройства работают на Android 6.0.1 и находятся в одной сети. Я использую звездную стратегию. Проблемное устройство - Lenovo P1A41, другое устройство - Lg X-screen (K500).