Join FlipAndroid.COM Telegram Group: https://t.me/joinchat/F_aqThGkhwcLzmI49vKAiw


Cómo activar / desactivar el bluetooth mediante programación en android

Hola a todos,

Quiero activar / desactivar Bluetooth a través del programa .. Tengo el código siguiente.

BluetoothAdapter mBluetoothAdapter = BluetoothAdapter.getDefaultAdapter(); if (!mBluetoothAdapter.isEnabled()) { Intent enableBtIntent = new Intent(BluetoothAdapter.ACTION_REQUEST_ENABLE); startActivityForResult(enableBtIntent, REQUEST_ENABLE_BT); 

Pero este tipo de código no está funcionando en SDK 1.5 … ¿Cómo puedo hacer lo mismo en SDK 1.5.?

  • IOException: error de lectura, socket podría cerrarse - Bluetooth en Android 4.3
  • La conexión Bluetooth falló "java.io.IOException: se ha producido un error en la lectura, el socket puede cerrarse o el tiempo de espera, leer ret: -1"
  • Fregadero de Android 5.0 Bluetooth A2DP
  • Android: acceso a una conexión ya emparejada
  • Alternar dispositivo A2DP (Android)
  • ¿Cómo listar archivos remotos de Android mediante Bluetooth?
  • ¿Cómo comprobar si el bluetooth está habilitado mediante programación?
  • Android muestra código bluetooth para enviar una cadena simple a través de bluetooth
  • 7 Solutions collect form web for “Cómo activar / desactivar el bluetooth mediante programación en android”

    Los documentos Android BluetoothAdapter dicen que ha estado disponible desde el Nivel 5 de la API. El Nivel 5 de la API es Android 2.0.

    Puedes intentar usar un backport de la API de Bluetooth (no lo has probado personalmente): http://code.google.com/p/backport-android-bluetooth/

    Este código funcionó para mí ..

     //Disable bluetooth BluetoothAdapter mBluetoothAdapter = BluetoothAdapter.getDefaultAdapter(); if (mBluetoothAdapter.isEnabled()) { mBluetoothAdapter.disable(); } 

    Para que esto funcione, debe tener los siguientes permisos:

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

    Aquí está una manera un poco más robusta de hacer esto, también el manejo de los valores de retorno de enable()\disable() métodos enable()\disable() :

     public static boolean setBluetooth(boolean enable) { BluetoothAdapter bluetoothAdapter = BluetoothAdapter.getDefaultAdapter(); boolean isEnabled = bluetoothAdapter.isEnabled(); if (enable && !isEnabled) { return bluetoothAdapter.enable(); } else if(!enable && isEnabled) { return bluetoothAdapter.disable(); } // No need to change bluetooth state return true; } 

    Y agrega los siguientes permisos en tu archivo de manifiesto:

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

    Pero recuerde estos puntos importantes:

    Se trata de una llamada asíncrona: se devolverá de inmediato y los clientes deben escuchar que ACTION_STATE_CHANGED se notifique de los cambios posteriores del estado del adaptador. Si esta llamada devuelve true, entonces el estado del adaptador cambiará inmediatamente de STATE_OFF a STATE_TURNING_ON, y algún tiempo después pasará a STATE_OFF o STATE_ON. Si esta llamada devuelve false entonces hubo un problema inmediato que evitará que el adaptador se encienda, como el modo de avión o el adaptador ya está activado.

    Para activar Bluetooth, puede utilizar cualquiera de las siguientes funciones:

      public void enableBT(View view){ BluetoothAdapter mBluetoothAdapter = BluetoothAdapter.getDefaultAdapter(); if (!mBluetoothAdapter.isEnabled()){ Intent intentBtEnabled = new Intent(BluetoothAdapter.ACTION_REQUEST_ENABLE); // The REQUEST_ENABLE_BT constant passed to startActivityForResult() is a locally defined integer (which must be greater than 0), that the system passes back to you in your onActivityResult() // implementation as the requestCode parameter. int REQUEST_ENABLE_BT = 1; startActivityForResult(intentBtEnabled, REQUEST_ENABLE_BT); } } 

    La segunda función es:

     public void enableBT(View view){ BluetoothAdapter mBluetoothAdapter = BluetoothAdapter.getDefaultAdapter(); if (!mBluetoothAdapter.isEnabled()){ mBluetoothAdapter.enable(); } } 

    La diferencia es que la primera función hace que la aplicación solicite al usuario un permiso para activar el Bluetooth o para negar. La segunda función hace que la aplicación active Bluetooth directamente.

    Para Desactivar Bluetooth, utilice la siguiente función:

     public void disableBT(View view){ BluetoothAdapter mBluetoothAdapter = BluetoothAdapter.getDefaultAdapter(); if (mBluetoothAdapter.isEnabled()){ mBluetoothAdapter.disable(); } } 

    NOTA / La primera función sólo necesita el siguiente permiso para ser definido en el archivo AndroidManifest.xml:

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

    Mientras, la segunda y tercera función necesitan los siguientes permisos:

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

    La solución de prijin funcionó perfectamente para mí. Es justo mencionar que se necesitan dos permisos adicionales:

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

    Cuando se agregan, habilitar y deshabilitar funciona impecable con el adaptador bluetooth predeterminado.

    He utilizado el código a continuación para desactivar BT cuando mi aplicación se inicia y funciona bien. No estoy seguro si esta es la forma correcta de implementar esto como google recomienda no usar "bluetooth.disable ();" Sin acción explícita del usuario para desactivar Bluetooth.

      BluetoothAdapter bluetooth = BluetoothAdapter.getDefaultAdapter(); bluetooth.disable(); 

    Sólo usé el permiso de abajo.

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

    Agregue los siguientes permisos a su archivo de manifiesto:

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

    Habilitar el uso de bluetooth

     BluetoothAdapter mBluetoothAdapter = BluetoothAdapter.getDefaultAdapter(); if (!mBluetoothAdapter.isEnabled()) { mBluetoothAdapter.enable(); }else{Toast.makeText(getApplicationContext(), "Bluetooth Al-Ready Enable", Toast.LENGTH_LONG).show();} 

    Desactivar el bluetooth utilizar este

     BluetoothAdapter mBluetoothAdapter = BluetoothAdapter.getDefaultAdapter(); if (mBluetoothAdapter.isEnabled()) { mBluetoothAdapter.disable(); } 
    FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.