当蓝牙断开连接或重新连接时,我的webview会重新加载

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了当蓝牙断开连接或重新连接时,我的webview会重新加载相关的知识,希望对你有一定的参考价值。

我有一个与蓝牙设备有问题的应用程序。当我断开连接或重新连接蓝牙设备时,应用程序似乎重新加载,或者我会说重新加载webview。它不会使应用程序崩溃,因为我正在使用接收器捕获连接和断开连接。这是我正在使用的代码和我坚持的地方。吐司正在工作,我无法弄清楚为什么它刷新整个视图。

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,则它触发“键盘”配置改变事件,其重新开始活动,类似于方向改变。将configChanges =“keyboard | screenSize”添加到AndroidManifest.xml。我还有用于滑出式键盘的keyboardHidden,以及方向,因为我不想在旋转设备时重新加载页面。

以上是关于当蓝牙断开连接或重新连接时,我的webview会重新加载的主要内容,如果未能解决你的问题,请参考以下文章

当蓝牙连接状态发生变化时,防止onDestroy

我们可以使用蓝牙重新连接断开的外围设备而无需再次扫描 ios

蓝牙 LE 在暂停时断开连接

为啥当我移动到新场景时蓝牙会断开连接?

当用户遇到错误或与 XMPP 断开连接时重新连接 XMPP

Bluez 自动重新连接设备