如何使用Flutter在后台读取加速度计

问题描述

我正试图从隔离功能获取加速度传感器数据,该功能是在后台处理代码的独立方法(独立于UI)。但是我没有设法使其工作:-/。加速度计数据可以从主要功能中很好地获取,但不能从隔离功能获取

这是代码

import 'dart:io';
import 'package:Flutter/foundation.dart';
import 'package:Flutter/material.dart';
import 'package:sensors/sensors.dart';



void main() async{
  WidgetsFlutterBinding.ensureInitialized();

  print('Going to create new Isolate');
  compute(getAccelerometer,null);
  print('New Isolate Created and it started his work');


  userAccelerometerEvents.listen((UserAccelerometerEvent event) {
    print('main : $event');
  });


  /*
  After executing all the instructions of main method app will killed,so to pause the main method(using stdin.first),so that we can wait in case
  "new Isolate" not finish yet.
  Press Enter to move forward
   */
  await stdin.first;


  print('new Isolate killed');
}

void getAccelerometer(String args) async {

  print("start accelerometer recording");

  for(int i = 0; i<1000; i++) {
      userAccelerometerEvents.listen((UserAccelerometerEvent event) {
      print('isolate : $event');
    });

    }

  }

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)