我刚刚开始通过我的Android手机连接到嵌入式BT设备。它正在连接正常但我正面临问题,当我没有正确断开连接。我的意思是先关闭套接字,然后打开任何i / o流。
但是当我在设备中突然关闭我的蓝牙时,我怎么知道蓝牙正在断开连接。是否有任何方法可以在APP中随时接收蓝牙断开监听器。
任何想法......? 感谢
mmSocket= device.createRfcommSocketToServiceRecord(uuidToTry);
try
{
mmSocket.connect();
}
catch (IOException e)
{
mmSocket.close();
}
答案 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);