0

我正在开发一个使用蓝牙连接的 Android 应用程序,我想将设备中的数据读取到应用程序中,但在读取数据之前需要知道我是否已连接到设备。

下面是我拥有的启动蓝牙设置的代码,我可以在其中配对设备。如何验证我已配对的设备是否与应用程序建立了活动连接并准备好发送数据?

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_connect);

    Button btn = (Button) findViewById(R.id.connect_button);

    btn.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            Intent intentOpenBluetoothSettings = new Intent();
            intentOpenBluetoothSettings.setAction(android.provider.Settings.ACTION_BLUETOOTH_SETTINGS);
            startActivity(intentOpenBluetoothSettings);
        }
    });

    mBluetoothAdapter = BluetoothAdapter.getDefaultAdapter();
    pairedDevices = mBluetoothAdapter.getBondedDevices();
4

1 回答 1

0

配对连接是两个不同的概念。您的代码只配对目标蓝牙设备并记住它,可以通过调用来检索其信息:

BluetoothAdapter.getDefaultAdapter().getBondedDevices();

即使这些设备不在您的手机附近(连接到),此功能实际上也会返回已配对蓝牙设备的所有信息。

要连接蓝牙设备,您需要编写自己的连接代码并选择特定的 UUID 来告诉您的手机您要建立哪种类型的连接(串行、音频等)。

要了解更多关于连接蓝牙设备的信息,请参阅以客户端连接下的官方文档

于 2016-06-30T20:15:26.213 回答