我有一个应用程序与蓝牙设备有问题。当我断开或重新连接蓝牙设备时,应用程序似乎重新加载,或者我会说重新加载 webview。它不会使应用程序崩溃,因为我正在使用接收器捕获连接和断开连接。这是我正在使用的代码以及我遇到的问题。 toast 正在工作,我不明白为什么它会刷新整个 View 。
public class MyBTReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
if(intent.getAction().equals("android.bluetooth.device.action.ACL_CONNECTED"))
{
Toast.makeText(context, "BT connect", Toast.LENGTH_SHORT).show();
}else if(intent.getAction().equals("android.bluetooth.device.action.ACL_DISCONNECTED"))
{
Toast.makeText(context, "BT disconnect", Toast.LENGTH_SHORT).show();
}
}
}
<receiver android:name=".MyBTReceiver">
<intent-filter>
<action android:name="android.bluetooth.device.action.ACL_CONNECTED" />
<action android:name="android.bluetooth.device.action.ACL_DISCONNECTED" />
</intent-filter>
</receiver>
最佳答案
如果蓝牙设备是 HID,则它会触发“键盘”配置更改事件,该事件会重新启动 Activity,类似于方向更改。将 configChanges="keyboard|screenSize"添加到您的 AndroidManifest.xml。我还有用于滑出式键盘的 keyboardHidden,以及方向,因为我不想在设备旋转时重新加载我的页面。
关于android - 当蓝牙断开连接或重新连接时,我的 webview 会重新加载,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23311748/