Легко: ACTION_DISCOVERY_FINISHED возвращает что-то вроде «устройства не найдены»? - PullRequest
2 голосов
/ 19 марта 2012

как кто-то, кто только начинает изучать программирование на Android / Java, я прочитал документы на https://developer.android.com/reference/android/bluetooth/BluetoothAdapter.html#ACTION_DISCOVERY_FINISHED и пытаюсь выяснить, получу ли я ACTION_DISCOVERY_FINISHED только при 12-секундном сканировании bluetooth завершен, и он возвращается без устройств, или он возвращает ACTION_DISCOVERY_FINISHED каждый раз при сканировании, и у него есть какой-то код возврата, который я не вижу в документах?

Сценарий таков: я создаю вещательный приемник, который будет прослушивать BT, и если он включен, запускает обнаружение и завершает обнаружение И ничего не находит, я хочу выключить BT.

Если бы он возвращал коды, мне бы понравилась ссылка / сами коды.

Спасибо за чтение и помощь!

1 Ответ

1 голос
/ 19 марта 2012

ACTION_DISCOVERY_FINISHED сообщает, что обнаружение завершено, не более или менее.

Существует отдельное намерение, ACTION_FOUND, которое отправляется при обнаружении устройства.

Для достижения желаемогофункциональность, вы хотите проверить в вашем приемнике вещания

intent.getAction().equals(BluetoothDevice.ACTION_FOUND)

Если намерение получено так, что это оценивается как истинное, то вы обнаружили BluetoothDevice.Если вы хотите выполнить обработку на этом устройстве, вы можете получить к нему доступ через

BluetoothDevice device = intent.getParcelableExtra(BluetoothDevice.EXTRA_DEVICE);

Редактировать: если вы хотите только знать, что никакие устройства не были найдены, вы можете просто установить флаг в коде обработки ACTION_FOUND,Если флаг не установлен, устройства не найдены.

EDIT2: процесс обнаружения устройства Bluetooth отправит следующую последовательность намерений:

1 ACTION_DISCOVERY_STARTED 0 или более ACTION_FOUND 1 ACTION_DISCOVERY_ENDED

...