¿Cómo habilitar/deshabilitar Bluetooth mediante programación en Android?

Sample GIF

Pasos para habilitar/deshabilitar Bluetooth mediante programación 

Paso 1: crear un nuevo proyecto

Para crear un nuevo proyecto en Android Studio, consulte Cómo crear/iniciar un nuevo proyecto en Android Studio . Tenga en cuenta que seleccione Kotlin como lenguaje de programación.

Paso 2: Trabajar con el archivo AndroidManifest.xml

Vaya al archivo AndroidManifest.xml y agregue dos permisos de usuario: BLUETOOTH y BLUETOOTH_ADMIN .

<usos-permiso android:name=”android.permission.BLUETOOTH”/>

<usos-permiso android:name=”android.permission.BLUETOOTH_ADMIN”/>

A continuación se muestra el código para el  archivo AndroidManifest.xml

XML

<?xml version="1.0" encoding="utf-8"?>
<manifest
    xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.example.wifi">
  
    <!--Put the permissions between the manifest and application opening tags-->
    <uses-permission android:name="android.permission.BLUETOOTH"/>
    <uses-permission android:name="android.permission.BLUETOOTH_ADMIN"/>
  
    <application
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:roundIcon="@mipmap/ic_launcher_round"
        android:supportsRtl="true"
        android:theme="@style/AppTheme">
        <activity android:name=".MainActivity">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
  
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>
  
</manifest>

Paso 3: trabajar con el archivo activity_main.xml

Cuando la configuración esté lista, vaya al archivo activity_main.xml , que representa la interfaz de usuario del proyecto. Cree un botón que cambie el estado de Bluetooth al hacer clic y un TextView que muestre el estado del estado de Bluetooth. actividad_principal.xml

XML

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout 
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".MainActivity">
  
    <!--Changes the state of Bluetooth on button click-->
    <Button
        android:id="@+id/BtBtn"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerInParent="true"
        android:text="Click" />
  
    <!--Displays the state of Bluetooth on button click-->
    <TextView
        android:id="@+id/BtTv"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_above="@id/BtBtn"
        android:layout_centerHorizontal="true"
        android:hint="Bluetooth Status"
        android:textSize="30sp" />
  
</RelativeLayout>

Paso 4: trabajar con el archivo MainActivity.kt

En el archivo MainActivity.kt , declare el botón, TextView y un adaptador Bluetooth (consulte los códigos). Mientras configura los oyentes al hacer clic en el botón, use el adaptador de Bluetooth para habilitar o deshabilitar el Bluetooth. MainActivity.kt

Kotlin

import android.bluetooth.BluetoothAdapter
import android.os.Bundle
import android.widget.Button
import android.widget.TextView
import androidx.appcompat.app.AppCompatActivity
  
class MainActivity : AppCompatActivity() {
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)
  
        // Declaring Button and TextView
        // 1. Changes the state of Bluetooth on button click
        // 2. Shows the state of the Bluetooth
        val btnBt = findViewById<Button>(R.id.BtBtn)
        val tvBt = findViewById<TextView>(R.id.BtTv)
  
        // Declaring Bluetooth adapter
        val mBluetoothAdapter = BluetoothAdapter.getDefaultAdapter()
  
        // On button Click
        btnBt.setOnClickListener {
  
            // Enable or disable the Bluetooth and display
              // the state in Text View
            if (mBluetoothAdapter.isEnabled) {
                mBluetoothAdapter.disable()
                tvBt.text = "Bluetooth is OFF"
            } else {
                mBluetoothAdapter.enable()
                tvBt.text = "Bluetooth is ON"
            }
        }
    }
}

Salida: ejecutar en dispositivo físico

Publicación traducida automáticamente

Artículo escrito por aashaypawar y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *