【问题标题】:How to detect active connection from bluetooth device using Android SDK如何使用 Android SDK 检测来自蓝牙设备的活动连接
【发布时间】:2016-07-01 04:15:26
【问题描述】:

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

【问题讨论】:

    标签: android bluetooth android-bluetooth android-ble


    【解决方案1】:

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

    BluetoothAdapter.getDefaultAdapter().getBondedDevices();
    

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

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

    要了解有关连接蓝牙设备的更多信息,请参阅以客户端身份连接下的official document

    【讨论】:

      猜你喜欢
      • 2016-12-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多