¿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?
- Problemas con los permisos de Android bluetooth
- Android Bluetooth Input / Outputstream: Enviado ~ 1400 bytes, recibido 1008
- Encuentra dispositivos bluetooth ya emparejados automáticamente, cuando están en rango
- Vinculación mediante programación al dispositivo BLE en Android
- Lectura de los valores del adaptador OBD II Bluetooth en la aplicación android
- BluetoothSocket deja de transmitir en OutputStream.write ()
- Android Bluetooth Serial / RFCOMM / SPP, ¿Cómo cambiar el BAUD RATE?
- Desde que la marshmallow actualiza el descubrimiento Bluetooth usando BluetoothAdapter.getDefaultAdapter (). StartDiscovery (); está roto
- Cómo burlar Contexto usando Mockito?
- Aplicación de mapas personalizados en interiores
- Android IRC Horas de oficina Pregunta Acerca de Android Bluetooth RSSI
- Crear un servicio programado en android
- Comprobar si mi dispositivo es detectable en Android
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" />
- Cómo configurar el fondo transparente para el botón de imagen en el código?
- ¿Cómo obtener la firma firmada de APK?