Flutter / Dart-未处理的异常:MissingPluginException

时间:2020-09-16 15:55:35

标签: flutter dart

我正试图在录音时访问设备麦克风,目的是录制语音笔记。我试图访问当前的权限值,但出现以下错误:

    [VERBOSE-2:ui_dart_state.cc(166)] Unhandled Exception: MissingPluginException(No implementation found for method checkPermissionStatus on channel flutter.baseflow.com/permissions/methods)
#0      MethodChannel._invokeMethod (package:flutter/src/services/platform_channel.dart:159:7)
<asynchronous suspension>
#1      MethodChannel.invokeMethod (package:flutter/src/services/platform_channel.dart:334:12)
#2      MethodChannelPermissionHandler.checkPermissionStatus (package:permission_handler_platform_interface/src/method_channel/method_channel_permission_handler.dart:15:41)
#3      PermissionActions.status (package:permission_handler/permission_handler.dart:30:51)
#4      _InsideLeftState.build.<anonymous closure> (package:easy_tiger/screens/order_card_flow/insideleft.dart:19:62)
#5      GestureRecognizer.invokeCallback (package:flutter/src/gestures/recognizer.dart:184:24)
#6      TapGestureRecognizer.handleTapUp (package:flutter/src/gestures/tap.dart:524:11)
#7      BaseTapGestureRecognizer._checkUp (pa<…>
[VERBOSE-2:profiler_metrics_ios.mm(184)] Error retrieving thread information: (ipc/send) invalid destination port

这是我的屏幕代码:

import 'package:flutter/material.dart';
import 'package:audio_recorder/audio_recorder.dart';
import 'package:permission_handler/permission_handler.dart';

class InsideLeft extends StatefulWidget {
  @override
  _InsideLeftState createState() => _InsideLeftState();
}

class _InsideLeftState extends State<InsideLeft> {
  @override
  Widget build(BuildContext context) {
    return Container(

      child: GestureDetector(
        child: Icon(Icons.mic),
        onTap: () async {
          PermissionStatus mic = await Permission.microphone.status;
          print('microphone permission? ${mic.toString()}');
//          try {
////            if (mic != PermissionStatus.granted) {
////              await Permission.microphone.request();
////            }
////          } catch (e) {
////            print(e);
////          }
        },
      ),
    );
  }


}

有人在想如何解决这个问题?

1 个答案:

答案 0 :(得分:0)

请您尝试以下操作:

使用android Studio迁移到androidX

删除gradle缓存

关于该主题的好帖子:Flutter MissingPluginException with several plugins