Android Studio 蓝牙开发实例

在Android应用程序中,蓝牙技术被广泛应用于实现设备之间的无线通信。本文将介绍如何在Android Studio中进行蓝牙开发,实现设备之间的数据传输。

蓝牙权限配置

首先,在AndroidManifest.xml文件中添加蓝牙权限:

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

初始化蓝牙适配器

在Activity中初始化蓝牙适配器,并确保设备支持蓝牙功能:

BluetoothAdapter bluetoothAdapter = BluetoothAdapter.getDefaultAdapter();
if (bluetoothAdapter == null) {
    // 设备不支持蓝牙
} else {
    if (!bluetoothAdapter.isEnabled()) {
        // 若蓝牙未开启,请求打开蓝牙
        Intent enableBtIntent = new Intent(BluetoothAdapter.ACTION_REQUEST_ENABLE);
        startActivityForResult(enableBtIntent, REQUEST_ENABLE_BT);
    }
}

搜索蓝牙设备

通过注册蓝牙广播接收器,可以搜索周围的蓝牙设备:

// 开始搜索蓝牙设备
bluetoothAdapter.startDiscovery();

// 注册蓝牙设备搜索的广播接收器
BroadcastReceiver receiver = new BroadcastReceiver() {
    public void onReceive(Context context, Intent intent) {
        String action = intent.getAction();
        if (BluetoothDevice.ACTION_FOUND.equals(action)) {
            BluetoothDevice device = intent.getParcelableExtra(BluetoothDevice.EXTRA_DEVICE);
            // 处理发现的蓝牙设备
        }
    }
};
IntentFilter filter = new IntentFilter(BluetoothDevice.ACTION_FOUND);
registerReceiver(receiver, filter);

连接蓝牙设备

通过蓝牙设备的MAC地址,可以连接到指定的蓝牙设备:

String address = "00:11:22:33:44:55";
BluetoothDevice device = bluetoothAdapter.getRemoteDevice(address);
BluetoothSocket socket = device.createRfcommSocketToServiceRecord(MY_UUID);
socket.connect();

数据传输

通过蓝牙Socket进行数据传输,实现设备之间的通信:

// 发送数据
OutputStream outputStream = socket.getOutputStream();
outputStream.write("Hello, Bluetooth!".getBytes());

// 接收数据
InputStream inputStream = socket.getInputStream();
byte[] buffer = new byte[1024];
int bytes;
while ((bytes = inputStream.read(buffer)) != -1) {
    String data = new String(buffer, 0, bytes);
    // 处理接收到的数据
}

结尾

通过以上步骤,我们可以在Android应用程序中实现蓝牙设备的搜索、连接和数据传输。蓝牙技术为设备之间的通信提供了一种便捷的无线方式,为Android应用程序的功能增加了更多可能性。

pie
    title 蓝牙设备类型占比
    "手机" : 60
    "音响" : 20
    "手表" : 10
    "其他" : 10

希望本文对您在Android Studio中进行蓝牙开发有所帮助,祝您顺利实现您的蓝牙应用程序!