要获取蓝牙设备的更多信息,可以使用Android的BluetoothDevice类提供的方法。以下是一个示例代码,演示如何获取蓝牙设备的名称、地址和支持的服务UUID列表:
import android.bluetooth.BluetoothAdapter;
import android.bluetooth.BluetoothDevice;
import android.content.Intent;
import android.os.Bundle;
import android.widget.TextView;
public class MainActivity extends AppCompatActivity {
private TextView deviceNameTextView;
private TextView deviceAddressTextView;
private TextView deviceUuidTextView;
private BluetoothAdapter bluetoothAdapter;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
deviceNameTextView = findViewById(R.id.device_name_text_view);
deviceAddressTextView = findViewById(R.id.device_address_text_view);
deviceUuidTextView = findViewById(R.id.device_uuid_text_view);
bluetoothAdapter = BluetoothAdapter.getDefaultAdapter();
// 检查设备是否支持蓝牙
if (bluetoothAdapter == null) {
// 如果不支持蓝牙,做相应处理
return;
}
// 通过Intent获取设备的地址
Intent intent = getIntent();
String deviceAddress = intent.getStringExtra("device_address");
// 根据设备地址获取BluetoothDevice对象
BluetoothDevice device = bluetoothAdapter.getRemoteDevice(deviceAddress);
// 获取设备名称并显示在TextView上
String deviceName = device.getName();
deviceNameTextView.setText("设备名称:" + deviceName);
// 获取设备地址并显示在TextView上
String deviceAddress = device.getAddress();
deviceAddressTextView.setText("设备地址:" + deviceAddress);
// 获取设备支持的服务UUID列表并显示在TextView上
StringBuilder uuidsBuilder = new StringBuilder();
for (ParcelUuid uuid : device.getUuids()) {
uuidsBuilder.append(uuid.toString()).append("\n");
}
deviceUuidTextView.setText("支持的服务UUID列表:\n" + uuidsBuilder.toString());
}
}
在上述示例代码中,我们通过BluetoothAdapter
类获取默认的BluetoothAdapter
实例,并通过getRemoteDevice()
方法根据设备地址获取BluetoothDevice
对象。然后,我们可以使用BluetoothDevice
对象的方法获取设备的名称、地址和支持的服务UUID列表,并将它们显示在TextView上。