如何使用Android SDK检测蓝牙设备的活动连接

时间:2016-06-30 19:25:56

标签: android bluetooth android-bluetooth android-ble

我正在使用蓝牙连接的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();

1 个答案:

答案 0 :(得分:0)

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

BluetoothAdapter.getDefaultAdapter().getBondedDevices();

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

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

要详细了解如何连接蓝牙设备,请参阅以客户端身份连接下的official document