目的:本人初学Android一个月,目的是为了做毕业设计的android移动端的软件。想要判断HC-05蓝牙模块断开连接后,重新检测搜索设备连接。在网上找了许多博客和论坛,想要实现功能,发现大部分使用不了(主要是我太菜)。最后在stack overflow上找到解决办法!!!
硬件:Android(oppoA57)手机、HC-05、TTL-USB 软件:Android 6.0的系统、XCOM V2.3串口工具、Android studio 4.1
以下是我所实现的的代码:
protected void onCreate() {
//...
IntentFilter filter = new IntentFilter();
filter.addAction(BluetoothDevice.ACTION_ACL_DISCONNECTED);
this.registerReceiver(BTReceiver, filter);
}
//The BroadcastReceiver that listens for bluetooth broadcasts
private final BroadcastReceiver BTReceiver = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
String action = intent.getAction();
if (BluetoothDevice.ACTION_ACL_DISCONNECTED.equals(action)) {
Intent intent_context = getIntent();
finish();
startActivity(intent_context);//此处是用于重启活动
//Do something if disconnected
Toast.makeText(getApplicationContext(), "不好意思,检测到设备已经断开连接,正在重启", Toast.LENGTH_SHORT).show();
}
}
};
下图是方法的出处:
该方法的出处:如何以编程方式判断蓝牙设备是否已连接?