2012-03-19 4 views
2

Я хочу определить, включено ли обнаружение Bluetooth или нет? Возможно ли это?обнаружение Bluetooth Discovery включено?

Intent discoverableIntent = new 
Intent(BluetoothAdapter.ACTION_REQUEST_DISCOVERABLE); 
discoverableIntent.putExtra(BluetoothAdapter.EXTRA_DISCOVERABLE_DURATION, 1); 
startActivity(discoverableIntent); 

выше кода о включении/diabling состояния диска Blutooth, но не показывает Bluetooth диско состояния

+0

Если вы говорите «включено ли обнаружение Bluetooth или нет?», Вы имеете в виду, является ли ваше устройство доступным для обнаружения или находится ли он в процессе обнаружения, то есть обнаруживает другие устройства? – mfrankli

ответ

0
bluetoothAdapter.isDiscovering(); 

должны делать то, что вы ищете. Вы можете получить объект BluetoothAdapter по умолчанию с помощью:

BluetoothAdapter bluetoothAdapter = BluetoothAdapter.getDefaultAdapter(); 

Вы можете прочитать об обоих этих методов в Android BluetoothAdapter doc.

+0

ошибка возврата на bluetoothAdapter.isDiscovering(); – Ata

+0

Не видя сообщение об ошибке, я не могу быть уверен, но я предполагаю, что вам нужно убедиться, что bluetoothAdapter.isEnabled() истинно - также рассматривается в этом документе. Не могли бы вы опубликовать сообщение об ошибке? – mfrankli

4

Чтобы выяснить, если устройство Bluetooth может быть обнаружена (в состоянии сканирования запроса), используйте getScanMode(), как в следующем примере:

BluetoothAdapter bAdapter = BluetoothAdapter.getDefaultAdapter(); 
if(bAdapter.getScanMode() == BluetoothAdapter.SCAN_MODE_CONNECTABLE_DISCOVERABLE) { 
    // device is discoverable & connectable 
} else { 
    // device is not discoverable & connectable 
} 

Documentation of getScanMode():

Int android.bluetooth. BluetoothAdapter.getScanMode()

Получить текущий режим сканирования Bluetooth локального адаптера Bluetooth.

Режим сканирования Bluetooth определяет, подключен ли локальный адаптер и/или доступен для обнаружения с удаленных устройств Bluetooth.

Смежные вопросы