1

我想使用 inappwebview 下载网站上的文件,但是当我尝试https://blog.codemagic.io/inappwebview-the-real-power-of-webviews-in-flutter/提供的代码时,它出现了一些错误在 initialUrl ,debuggingEnabled, url: url ,这是代码。

import 'dart:async';
import 'package:flutter/material.dart';
import 'package:flutter_inappwebview/flutter_inappwebview.dart';
import 'package:flutter_downloader/flutter_downloader.dart';
import 'package:path_provider/path_provider.dart';
import 'package:permission_handler/permission_handler.dart';

Future main() async {
  WidgetsFlutterBinding.ensureInitialized();
  await FlutterDownloader.initialize(
    debug: true // optional: set false to disable printing logs to console
  );
  await Permission.storage.request();
  runApp(MyApp());
}

class MyApp extends StatefulWidget {
  @override
  _MyAppState createState() => new _MyAppState();
}

class _MyAppState extends State<MyApp> {
  InAppWebViewController _webViewController;

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      home: Scaffold(
        appBar: AppBar(
          title: const Text('InAppWebView Example'),
        ),
        body: Container(
          child: Column(children: <Widget>[
            Expanded(
              child: InAppWebView(
                initialUrl: "http://ovh.net/files/1Mio.dat",
                initialOptions: InAppWebViewGroupOptions(
                  crossPlatform: InAppWebViewOptions(
                      debuggingEnabled: true,
                      useOnDownloadStart: true
                  ),
                ),
                onWebViewCreated: (InAppWebViewController controller) {
                  _webViewController = controller;
                },
                onDownloadStart: (controller, url) async {
                  print("onDownloadStart $url");
                  final taskId = await FlutterDownloader.enqueue(
                    url: url,
                    savedDir: (await getExternalStorageDirectory()).path,
                    showNotification: true, // show download progress in status bar (for Android)
                    openFileFromNotification: true, // click on notification to open downloaded file (for Android)
                  );
                },
              ),
            ),
          ]),
        ),
      ),
    );
  }
}
4

0 回答 0