小工具知识网

当前位置: 首页 > 行业知识 > flutter 无法从H5 WebView 访问摄像头和录音权限

行业知识

flutter 无法从H5 WebView 访问摄像头和录音权限

2026-11-03 12:59:43 来源:互联网转载

index.php/tags-41973.html" >AndroidManifest.xml需要在 中添加以下权限:

()
 
import 'dart:async';import 'package:flutter/material.dart';import 'package:flutter_inappwebview/flutter_inappwebview.dart';import 'package:permission_handler/permission_handler.dart';Future main() async {  WidgetsFlutterBinding.ensureInitialized();  await Permission.camera.request();  await Permission.microphone.request();  runApp(MyApp());}class MyApp extends StatefulWidget {  @override  _MyAppState createState() => new _MyAppState();}class _MyAppState extends State {  @override  Widget build(BuildContext context) {    return MaterialApp(        home: InAppWebViewPage()    );  }}class InAppWebViewPage extends StatefulWidget {  @override  _InAppWebViewPageState createState() => new _InAppWebViewPageState();}class _InAppWebViewPageState extends State {  InAppWebViewController _webViewController;  @override  Widget build(BuildContext context) {    return Scaffold(        appBar: AppBar(            title: Text("InAppWebView")        ),        body: Container(            child: Column(children: [              Expanded(                child: Container(                  child: InAppWebView(                      initialUrlRequest: URLRequest(url: Uri.parse('url')),                      initialOptions: InAppWebViewGroupOptions(                        crossPlatform: InAppWebViewOptions(                          mediaPlaybackRequiresUserGesture: false,                          debuggingEnabled: true,                        ),                      ),                      onWebViewCreated: (InAppWebViewController controller) {                        _webViewController = controller;                      },                      androidOnPermissionRequest: (InAppWebViewController controller, String origin, List resources) async {                        return PermissionRequestResponse(resources: resources, action: PermissionRequestResponseAction.GRANT);//主要是这行代码是授权的                      }                  ),                ),              ),            ]))    );  }}
()

上一篇:怎么运行服务器的程序?

下一篇:敏慧英文怎么读?