2013-02-27 280 views
7

我刚开始通过我的Android手机连接到嵌入式BT设备。它连接良好,但我正面临问题,因为我没有正确断开连接。我的意思是先关闭socket然后打开任何I/O流。从Android设备连接到嵌入式蓝牙设备

但是,当我在设备中突然关闭蓝牙时,我将如何知道蓝牙正在断开连接。是否有任何方式在APP中一直接收蓝牙断开监听器。

任何想法....? 感谢

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

回答

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. 
       } 
     } 
} 
}; 

并注册的BroadcastReceiver为以下意图过滤器:

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

+0

感谢shridutt我正在寻找这个。非常感谢 – praveen 2013-02-27 10:36:07

+0

@praveen欢迎好友... – 2013-02-27 10:38:36