代码之家  ›  专栏  ›  技术社区  ›  Csaba Toth

如何使我的应用程序在手机锁定时继续接收和处理蓝牙数据?

  •  0
  • Csaba Toth  · 技术社区  · 4 年前

    我有一个flatter应用程序,它使用 flutter_blue

    在这种情况下,我的应用程序仍处于前台。然而,我注意到,当手机被锁定时,所有的流数据都在堆积而未经处理,一旦我解锁手机,数据洪流立刻涌入。这对数据处理来说是灾难性的。

    // Widget field:
    BluetoothCharacteristic _primaryMeasurements;
    
    // later:
    await _primaryMeasurements.setNotifyValue(true);
    _primaryMeasurements.value.listen((data) async {
      if (data != null && data.length > 1) {
        await _recordMeasurement(data);
      }
    });
    
    // Even later, this is obviously over simplified essence
    @override
    Widget build(BuildContext context) {
      return Text('${data[3]}'),
    }
    

    虽然我的应用程序的UI是不可见的,而且Flatter非常面向UI,但我仍然希望我的应用程序在屏幕锁定的情况下,在前台逐步处理流信息。有了Android应用程序,他们会进入暂停状态,如何用flifter处理我的场景?


    修正:即使应用程序根本不在前台(但手机未锁定),问题也可能出现。

    0 回复  |  直到 3 年前