从Android设备连接到嵌入式蓝牙设备

时间:2013-02-27 09:17:40

标签: android

我刚刚开始通过我的Android手机连接到嵌入式BT设备。它正在连接正常但我正面临问题,当我没有正确断开连接。我的意思是先关闭套接字,然后打开任何i / o流。

但是当我在设备中突然关闭我的蓝牙时,我怎么知道蓝牙正在断开连接。是否有任何方法可以在APP中随时接收蓝牙断开监听器。

任何想法......? 感谢

mmSocket= device.createRfcommSocketToServiceRecord(uuidToTry);
try
{
    mmSocket.connect();
}
catch (IOException e)
{
    mmSocket.close();
}

1 个答案:

答案 0 :(得分:1)

你可以这样做 - 在你的代码中创建一个广播接收器像这样:

private final BroadcastReceiver mReceiver = new BroadcastReceiver() {
    @Override
    public void onReceive(Context context, Intent intent) {
        String action = intent.getAction();
        if (action.equals(BluetoothAdapter.ACTION_STATE_CHANGED)) {
            BluetoothAdapter mBluetoothAdapter = BluetoothAdapter.getDefaultAdapter();
            if (!mBluetoothAdapter.isEnabled()) {
                // BT is turened off.
            }
            else{
                // BT is turened on.
              }
        }
 }
};

并将该广播接收者注册为以下意图过滤器:

IntentFilter filter = new IntentFilter(BluetoothAdapter.ACTION_STATE_CHANGED); registerReceiver(mReceiver, filter);