Quiero habilitar / deshabilitar bluetooth a través del programa. tengo el siguiente código.
BluetoothAdapter mBluetoothAdapter = BluetoothAdapter.getDefaultAdapter();
if (!mBluetoothAdapter.isEnabled()) {
Intent enableBtIntent = new Intent(BluetoothAdapter.ACTION_REQUEST_ENABLE);
startActivityForResult(enableBtIntent, REQUEST_ENABLE_BT);
Pero este código no funciona en SDK 1.5. ¿Cómo puedo hacer que funcione?
Respuestas:
Los documentos de Android BluetoothAdapter dicen que ha estado disponible desde el nivel de API 5. El nivel de API 5 es Android 2.0.
Puede intentar utilizar un puerto trasero de la API de Bluetooth (no lo he probado personalmente): http://code.google.com/p/backport-android-bluetooth/
fuente
este código funcionó para mí ..
Para que esto funcione, debe tener los siguientes permisos:
fuente
Aquí hay una forma un poco más sólida de hacer esto, también manejando los valores de retorno de los
enable()\disable()
métodos:Y agregue los siguientes permisos en su archivo de manifiesto:
Pero recuerde estos puntos importantes:
ACTUALIZAR:
Ok, entonces, ¿cómo implementar el oyente bluetooth ?:
¿Y cómo registrar / anular el registro del receptor? (En tu
Activity
clase)fuente
BLUETOOTH_ADMIN
permiso, funciona, pero si no, debe usarlostartActivityForResult(enableBtIntent, 0);
para habilitar su bluetoothBluetooth should never be enabled without direct user consent. If you want to turn on Bluetooth in order to create a wireless connection, you should use the ACTION_REQUEST_ENABLE Intent, which will raise a dialog that requests user permission to turn on Bluetooth. The enable() method is provided only for applications that include a user interface for changing system settings, such as a "power manager" app.
¿Qué significa? Por ej. Hice una pequeña aplicación a partir de tu código y funcionó. Pero si quiero subir a Play Store, ¿no funcionará?Para habilitar el Bluetooth, puede utilizar cualquiera de las siguientes funciones:
La segunda función es:
La diferencia es que la primera función hace que la aplicación solicite al usuario un permiso para encender el Bluetooth o para denegarlo. La segunda función hace que la aplicación encienda el Bluetooth directamente.
Para deshabilitar el Bluetooth use la siguiente función:
NOTA / La primera función solo necesita el siguiente permiso para definirse en el archivo AndroidManifest.xml:
Mientras que, la segunda y tercera funciones necesitan los siguientes permisos:
fuente
La solución de prijin funcionó perfectamente para mí. Es justo mencionar que se necesitan dos permisos adicionales:
Cuando se agregan, habilitar y deshabilitar funciona perfectamente con el adaptador bluetooth predeterminado.
fuente
Utilicé el siguiente código para desactivar BT cuando mi aplicación se inicia y funciona bien. No estoy seguro si esta es la forma correcta de implementar esto, ya que Google recomienda no usar "bluetooth.disable ();" sin una acción explícita del usuario para desactivar Bluetooth.
Solo utilicé el siguiente permiso.
fuente
Agrega los siguientes permisos a tu archivo de manifiesto:
Habilita bluetooth usa esto
Desactivar bluetooth usar esto
fuente
prueba esto:
Agrega estos permisos en el manifiesto
fuente