tracker - programacion android pdf 2018




¿Cómo verificar si Bluetooth está habilitado programáticamente? (4)

Me gustaría comprobar si bluetooth está habilitado en cualquier dispositivo Android periódicamente. ¿Hay alguna intención que pueda atrapar usando BroadcastReceiver para hacerlo, o hay otras formas 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 a esta pregunta.

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

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

Ahora, donde quiera verificar compatibilidad con Bluetooth, use el siguiente código.

boolean isBluetoothSupported = getPackageManager().hasSystemFeature(PackageManager.FEATURE_BLUETOOTH);

Para verificar el estado de Bluetooth, ENCENDIDO o APAGADO, mediante programación:

    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 puedes escuchar la acción Intención:

BluetoothAdapter.ACTION_STATE_CHANGED


el uso puede usar

BluetoothAdapter mBluetoothAdapter = BluetoothAdapter.getDefaultAdapter();

para comprobar bt conectado

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

para el control bt desconectado

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




bluetooth