Flutter + ArCore + Qrscan сбой - PullRequest
       26

Flutter + ArCore + Qrscan сбой

0 голосов
/ 26 апреля 2020

я работаю с Flutter + AndroidStudio, и я в настоящее время начинаю работать с дополненной реальностью, проблема в том, что я хотел бы иметь где-нибудь QrCode, и пока я иду с включенной функцией ArCore, я могу нажать «кнопку сканирования» и открыть « Настоящая камера "с функцией сканирования.

  Future _scan() async {
   String barcode = await scanner.scan();
   print(barcode);
  }


  @override
  Widget build(BuildContext context) {
  return Scaffold(
  appBar: AppBar(
    title: Text(widget.title),
  ),

  body: Stack(
    children: <Widget>[
      ArCoreView(
        onArCoreViewCreated: _onArCoreViewCreated,
        enableTapRecognizer: true,
      ),
      Align(
        alignment: Alignment.topLeft,
        child: RaisedButton(
          onPressed: () {
            _scan();
          },
          child: Text('Go back!'),
        ),
      ),
    ],
  ),
);
}

Если я не поставлю:

ArCoreView(
        onArCoreViewCreated: _onArCoreViewCreated,
        enableTapRecognizer: true,
      )

Это на самом деле работает нормально. 2 плагина: import 'package: arcore_flutter_plugin / arcore_flutter_plugin.dart';

import 'package: qrscan / qrscan.dart' в качестве сканера;

Я думаю, проблема в том, что камера уже открыт или что-то в этом роде, я не знаю, как я могу это исправить, заранее спасибо!

Вот ошибка, которую я получаю:

I/com.difrancescogianmarco.arcore_flutter_plugin.ArCoreView( 9820): onActivityPaused
I/native  ( 9820): session.cc:1154 Entering Session::Pause.
W/native  ( 9820): calibration_convergence_detector_utils.cc:143 Failed to get calibration qualification statistics: States are empty.
I/native  ( 9820): online_calibration_manager.cc:126 OnlineCalibrationManager: Discarding the new online recalibration estimates.
I/native  ( 9820): cameras.cc:1309 Camera 0 changed state CAPTURING->STOPPING; Capture session stopping... i=2
E/ACameraDevice( 9820): onDeviceIdle sending state cb
I/native  ( 9820): android_camera.cc:1617 [Camera=0; State=STOPPING] Camera completed repeating capture sequence 0
I/native  ( 9820): logger.h:28 CameraMetrics: LastCaptureComplete: 233.815312ms
I/native  ( 9820): logger.h:28 CameraMetrics: CloseCaptureSession: 206.000938ms
I/native  ( 9820): cameras.cc:1309 Camera 0 changed state STOPPING->OPEN; Camera stopped. i=3
I/native  ( 9820): logger.h:28 CameraMetrics: CloseCamera: 111.259687ms
I/native  ( 9820): cameras.cc:1309 Camera 0 changed state OPEN->CLOSED; Camera device closed successfully. i=4
I/native  ( 9820): logger.h:28 DataSourceMetrics: kStopImageSubSystem: 551.795989ms
I/native  ( 9820): session.cc:1239 Session::PauseWithAnalytics returning OK.
I/Choreographer( 9820): Skipped 33 frames!  The application may be doing too much work on its main thread.
W/ActivityThread( 9820): handleWindowVisibility: no activity for token android.os.BinderProxy@edfedec
D/AndroidRuntime( 9820): Shutting down VM
E/AndroidRuntime( 9820): FATAL EXCEPTION: main
E/AndroidRuntime( 9820): Process: com.example.flutterapp4, PID: 9820
E/AndroidRuntime( 9820): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.flutterapp4/com.shinow.qrscan.SecondActivity}: java.lang.IllegalArgumentException: Parameter specified as non-null is null: method kotlin.jvm.internal.Intrinsics.checkParameterIsNotNull, parameter savedInstanceState
E/AndroidRuntime( 9820):    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3276)
E/AndroidRuntime( 9820):    at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3415)
E/AndroidRuntime( 9820):    at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:83)
E/AndroidRuntime( 9820):    at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:135)
E/AndroidRuntime( 9820):    at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:95)
E/AndroidRuntime( 9820):    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2022)
E/AndroidRuntime( 9820):    at android.os.Handler.dispatchMessage(Handler.java:107)
E/AndroidRuntime( 9820):    at android.os.Looper.loop(Looper.java:359)
E/AndroidRuntime( 9820):    at android.app.ActivityThread.main(ActivityThread.java:7418)
E/AndroidRuntime( 9820):    at java.lang.reflect.Method.invoke(Native Method)
E/AndroidRuntime( 9820):    at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:492)
E/AndroidRuntime( 9820):    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:935)
E/AndroidRuntime( 9820): Caused by: java.lang.IllegalArgumentException: Parameter specified as non-null is null: method kotlin.jvm.internal.Intrinsics.checkParameterIsNotNull, parameter savedInstanceState
E/AndroidRuntime( 9820):    at com.difrancescogianmarco.arcore_flutter_plugin.ArCoreView$setupLifeCycle$1.onActivityCreated(Unknown Source:7)
E/AndroidRuntime( 9820):    at android.app.Application.dispatchActivityCreated(Application.java:373)
E/AndroidRuntime( 9820):    at android.app.Activity.dispatchActivityCreated(Activity.java:1202)
E/AndroidRuntime( 9820):    at android.app.Activity.onCreate(Activity.java:1475)
E/AndroidRuntime( 9820):    at androidx.core.app.ComponentActivity.onCreate(ComponentActivity.java:81)
E/AndroidRuntime( 9820):    at androidx.activity.ComponentActivity.onCreate(ComponentActivity.java:149)
E/AndroidRuntime( 9820):    at androidx.fragment.app.FragmentActivity.onCreate(FragmentActivity.java:313)
E/AndroidRuntime( 9820):    at androidx.appcompat.app.AppCompatActivity.onCreate(AppCompatActivity.java:106)
E/AndroidRuntime( 9820):    at com.shinow.qrscan.SecondActivity.onCreate(SecondActivity.java:36)
E/AndroidRuntime( 9820):    at android.app.Activity.performCreate(Activity.java:7802)
E/AndroidRuntime( 9820):    at android.app.Activity.performCreate(Activity.java:7791)
E/AndroidRuntime( 9820):    at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1307)
E/AndroidRuntime( 9820):    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3251)
...