Flutter 如何在颤振背景下读取加速度计

Flutter 如何在颤振背景下读取加速度计,flutter,accelerometer,Flutter,Accelerometer,我试图从隔离函数中获取加速计传感器数据,这是一种在后台处理代码的方式(独立于UI)。但我没能成功:-/。加速计数据可以从主功能中很好地获取,但不在隔离功能中 代码如下: import 'dart:io'; import 'package:flutter/foundation.dart'; import 'package:flutter/material.dart'; import 'package:sensors/sensors.dart'; void main() async{ Wi

我试图从隔离函数中获取加速计传感器数据,这是一种在后台处理代码的方式(独立于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');
    });

    }

  }
导入'dart:io';
进口“包装:颤振/基础.dart”;
进口“包装:颤振/材料.省道”;
进口“包装:传感器/传感器.dart”;
void main()异步{
WidgetsFlutterBinding.ensureInitialized();
打印(“将创建新隔离”);
计算(getAccelerator,null);
print(“创建了新的隔离并开始了他的工作”);
侦听((UserAccelerometerEvent事件){
打印('main:$event');
});
/*
在执行主方法app的所有指令后,将终止,
因此,暂停main方法(使用stdin.first),以便我们可以等待以防万一
“新隔离”尚未完成。
按Enter键向前移动
*/
先等标准;
打印(‘新隔离物’);
}
void getAccelerator(字符串参数)异步{
打印(“开始加速度计记录”);
对于(int i=0;i