要连接到蓝牙模块,可以使用Android的Bluetooth API。以下是一个简单的代码示例,演示如何连接到蓝牙模块:
import android.bluetooth.BluetoothAdapter;
import android.bluetooth.BluetoothDevice;
import android.bluetooth.BluetoothSocket;
import android.os.Bundle;
import android.util.Log;
import androidx.appcompat.app.AppCompatActivity;
import java.io.IOException;
import java.util.Set;
import java.util.UUID;
public class MainActivity extends AppCompatActivity {
private static final String TAG = "BluetoothConnection";
private static final String DEVICE_NAME = "Your Bluetooth Device Name";
private static final UUID MY_UUID = UUID.fromString("00001101-0000-1000-8000-00805F9B34FB");
private BluetoothAdapter mBluetoothAdapter;
private BluetoothDevice mBluetoothDevice;
private BluetoothSocket mBluetoothSocket;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mBluetoothAdapter = BluetoothAdapter.getDefaultAdapter();
if (mBluetoothAdapter == null) {
Log.e(TAG, "Device doesn't support Bluetooth");
return;
}
if (!mBluetoothAdapter.isEnabled()) {
Log.d(TAG, "Enabling Bluetooth");
mBluetoothAdapter.enable();
}
Set pairedDevices = mBluetoothAdapter.getBondedDevices();
for (BluetoothDevice device : pairedDevices) {
if (device.getName().equals(DEVICE_NAME)) {
mBluetoothDevice = device;
break;
}
}
if (mBluetoothDevice == null) {
Log.e(TAG, "Bluetooth device not found");
return;
}
try {
mBluetoothSocket = mBluetoothDevice.createRfcommSocketToServiceRecord(MY_UUID);
mBluetoothSocket.connect();
Log.d(TAG, "Bluetooth connection established");
} catch (IOException e) {
Log.e(TAG, "Failed to connect to Bluetooth device", e);
}
}
@Override
protected void onDestroy() {
super.onDestroy();
if (mBluetoothSocket != null) {
try {
mBluetoothSocket.close();
} catch (IOException e) {
Log.e(TAG, "Failed to close Bluetooth socket", e);
}
}
}
}
请注意替换代码中的"Your Bluetooth Device Name"为您要连接的蓝牙设备的名称。
此代码示例假设您已经知道要连接的蓝牙设备的名称,并且设备已与Android设备进行配对。如果设备不在配对设备列表中,您可能需要使用BluetoothAdapter的其他方法来搜索设备并进行配对。
此代码示例创建一个BluetoothSocket并使用UUID进行连接。UUID是蓝牙设备之间的唯一标识符。在大多数情况下,使用UUID.fromString("00001101-0000-1000-8000-00805F9B34FB")即可。但是,某些蓝牙模块可能具有不同的UUID,您需要查找有关您特定蓝牙模块的文档以获取正确的UUID。
在onDestroy()方法中,关闭BluetoothSocket以释放资源。
这只是一个简单的示例,您可能需要根据您的特定需求进行更多的错误处理和逻辑。