当前位置: 首页 > 知识库问答 >
问题:

使用start LeScan()显示Livedata

尹凌龙
2023-03-14

我正在开发一个扫描ble设备的android应用程序。我成功地扫描了它们并显示了扫描的响应数据包。现在我已经修改了ble以传输扫描的数据包,这些数据包将根据每个广告事件而变化。所以我需要在我的应用程序中显示数据的实时变化。但是一旦按下扫描,它就会显示即时值,它不会更新下一个数据!我使用mBluetoothAdapter.startLeScan(mLeScanCallback)功能。所以我需要快速启动和停止扫描以显示新数据。我尝试使用多次启动和停止leScan调用,但它挂断了应用程序。

以下是扫描的通用函数

专用void扫描设备(最终布尔启用){

    if (enable) {
        // Stops scanning after a pre-defined scan period.
        mHandler.postDelayed(new Runnable() {
            @Override
            public void run() {
                mScanning = false;
                mBluetoothAdapter.stopLeScan(mLeScanCallback);
                System.out.println("hello");
                invalidateOptionsMenu();
            }
        }, SCAN_PERIOD);

        mScanning = true;
        mBluetoothAdapter.startLeScan(mLeScanCallback);
    } else {
        mScanning = false;
        mBluetoothAdapter.stopLeScan(mLeScanCallback);
    }
    invalidateOptionsMenu();
}

共有1个答案

常光明
2023-03-14

最后,它在AOSPLollipop中效果很好。此问题已结束

 类似资料:
  • 我的一个视图返回了一个字符串,如下所示: 我试图用刀片显示它: 但是,输出是原始字符串,而不是呈现的超文本标记语言。如何在Laravel中使用Blade显示超文本标记语言? PS.PHP正确显示HTML。

  • 问题内容: 我正在从数据库中检索Blob图像,并且希望能够使用JavaScript查看该图像。以下代码在页面上产生一个损坏的图像图标: 其中包含所有必需的代码,包括blob。完成的代码应正确显示图像。 问题答案: 问题是我有十六进制数据,需要先进行十六进制数据转换,然后才能进行base64编码。 在PHP中:

  • 问题内容: 我正在尝试通过AJAX调用显示PDF(在服务器端创建并作为网络流传递给客户端)。我的代码如下: “ inputxml”包含用于服务器创建PDF的输入参数。和成功函数中包含PDF流的“数据”。是否可以在AJAX调用成功功能内的浏览器中打开PDF文件,而无需进行任何页面提交?在服务器端,PDF也不是物理生成的。非常感谢您的帮助。 问题答案: 为什么要通过AJAX加载它?为什么不将其加载到需

  • 我正在处理一个包含三个选项卡的应用程序,每个选项卡都有一个与之关联的片段。在某些情况下,我必须在第二个父选项卡中显示子选项卡。但是如果该条件不成立,则子选项卡不应加载,父选项卡应加载我在子选项卡中使用的片段之一。例如,我有三个片段FragmentA、FragmentB和FragmentC。现在,如果条件为真,那么我将显示选项卡并使用片段选项卡主机在FragmentA中加载FragmentB和Fra

  • 问题内容: 如何显示在PHP中使用file_get_contents检索到的图像? 我需要修改标题并仅回显它吗? 谢谢! 问题答案: 我需要修改标题并仅回显它吗? 究竟。 之后发送和数据。

  • 问题内容: 我正在使用以下代码来启动.cmd文件: 它工作正常,但我实际上希望看到cmd.exe窗口正在运行。如何显示?任何帮助将不胜感激! 问题答案: 除了运行路径外,请尝试实际运行,但是使用build in 命令启动新的命令窗口。您可以通过在命令提示符下输入以下命令来查看完整的命令行参数集: 在您的情况下,您可能想要执行类似以下命令的操作: