blob: 7f9d20669ee7d90cafb410078299f2bde7c14026 [file] [log] [blame]
// Copyright 2013 The Flutter Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
// Run this example with: flutter run -t lib/files.dart -d linux
// This file is used to extract code samples for the README.md file.
// Run update-excerpts if you modify this file.
import 'dart:io';
import 'package:flutter/material.dart';
import 'package:path/path.dart' as p;
import 'package:url_launcher/url_launcher.dart';
void main() => runApp(
const MaterialApp(
home: Material(
child: Center(
child: ElevatedButton(
onPressed: _openFile,
child: Text('Open File'),
),
),
),
),
);
Future<void> _openFile() async {
// Prepare a file within tmp
final String tempFilePath = p.joinAll(<String>[
...p.split(Directory.systemTemp.path),
'flutter_url_launcher_example.txt'
]);
final File testFile = File(tempFilePath);
await testFile.writeAsString('Hello, world!');
// #docregion file
final String filePath = testFile.absolute.path;
final Uri uri = Uri.file(filePath);
if (!File(uri.toFilePath()).existsSync()) {
throw Exception('$uri does not exist!');
}
if (!await launchUrl(uri)) {
throw Exception('Could not launch $uri');
}
// #enddocregion file
}