¿Cómo comprobar si el bluetooth está habilitado mediante programación?

Me gustaría comprobar si el bluetooth está habilitado en cualquier dispositivo Android periódicamente. ¿Hay algunas intenciones que podría capturar utilizando BroadcastReceiver para hacerlo, o hay otras maneras de hacerlo?

Ahí tienes:

BluetoothAdapter mBluetoothAdapter = BluetoothAdapter.getDefaultAdapter(); if (mBluetoothAdapter == null) { // Device does not support Bluetooth } else { if (!mBluetoothAdapter.isEnabled()) { // Bluetooth is not enable :) } } 

Con uses-permission

  <uses-permission android:name="android.permission.BLUETOOTH" android:required="false" /> 

Aquí tengo otra alternativa como respuesta para esta pregunta.

Primero agregue las siguientes líneas en su archivo Manifest.

 <uses-feature android:name="android.hardware.BLUETOOTH" android:required="false"/> 

Ahora, donde desea comprobar compatibilidad con Bluetooth, utilice el siguiente código.

 boolean isBluetoothSupported = getPackageManager().hasSystemFeature(PackageManager.FEATURE_BLUETOOTH); 
 public boolean isBluetoothEnabled() { BluetoothAdapter mBluetoothAdapter = BluetoothAdapter.getDefaultAdapter(); return mBluetoothAdapter.isEnabled(); } 

Con el permiso en el archivo de manifiesto:

 <uses-permission android:name="android.permission.BLUETOOTH" /> 

Uso puede usar

 BluetoothAdapter mBluetoothAdapter = BluetoothAdapter.getDefaultAdapter(); 

Para comprobar bt conectado

 mBluetoothAdapter.getProfileConnectionState(BluetoothHeadset.HEADSET) == BluetoothHeadset.STATE_CONNECTED 

Para el cheque bt desconectado

 mBluetoothAdapter.getProfileConnectionState(BluetoothHeadset.HEADSET) == BluetoothHeadset.STATE_DISCONNECTED 

Para comprobar el estado Bluetooth, ON u OFF, programe:

  BluetoothAdapter btAdapter = ((Build.VERSION.SDK_INT > Build.VERSION_CODES.JELLY_BEAN_MR1) ?((BluetoothManager)mContext.getSystemService(Context.BLUETOOTH_SERVICE)).getAdapter() :(BluetoothAdapter.getDefaultAdapter())); if(btAdapter==null){ return; } if(btAdapter.getState()==BluetoothAdapter.STATE_ON){ //Bluetooth is ON } 

También puede escuchar la acción de Intención:

BluetoothAdapter.ACTION_STATE_CHANGED

Así es como lo hice con la ayuda de la respuesta de @ xjaphx, versión ligeramente simplificada:

  private boolean getBlueToothOn(){ BluetoothAdapter btAdapter = BluetoothAdapter.getDefaultAdapter(); return btAdapter != null && btAdapter.isEnabled(); } <uses-permission android:name="android.permission.BLUETOOTH" /> 
  • Transferencia de Bluetooth La aplicación se detiene después de usar InputStream.read () sin error
  • ¿Emisión si un dispositivo bluetooth está conectando / desconectando?
  • Responder a llamadas de teléfono Android de PC por bluetooth
  • Cómo evitar la conexión Bluetooth RFCOMM de morir inmediatamente después de .connect ()?
  • ¿Es posible establecer más de una comunicación bluetooth en android
  • ¿Es posible conectar iOS y dispositivos Android con Bluetooth?
  • Reconocimiento de voz de Android con micrófono Bluetooth
  • El BroadcastReceiver para la intención ACTION_MEDIA_BUTTON se activa TWICE por clic en MediaButton
  • ¿Cómo acceder al sistema de archivos de otro teléfono usando bluetooth en Android?
  • ¿Cómo unpair o suprimir el dispositivo bluetooth apareado programmatically en androide?
  • Implementar un tiempo de espera en BluetoothSocket inputstream.read () en Android
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.