open_with 0.1.4
open_with: ^0.1.4 copied to clipboard
Open any File in Flutter app using Open With option
example/lib/main.dart
import 'package:flutter/material.dart';
import 'package:open_with/open_with.dart';
void main() async {
WidgetsFlutterBinding.ensureInitialized();
IntentDetails? intent = await getIntent();
if (intent != null) {
return runApp(
MaterialApp(
home: IntentPage(intentDetails: intent),
),
);
} else {
return runApp(
const MaterialApp(home: HomePage()),
);
}
}
class HomePage extends StatelessWidget {
const HomePage({Key? key}) : super(key: key);
@override
Widget build(BuildContext context) {
return Scaffold(
body: Center(
child: Text("Home Page", style: Theme.of(context).textTheme.titleLarge),
),
);
}
}
class IntentPage extends StatefulWidget {
IntentDetails intentDetails;
IntentPage({Key? key, required this.intentDetails}) : super(key: key);
@override
State<IntentPage> createState() => _IntentPageState();
}
class _IntentPageState extends State<IntentPage> {
late IntentDetails intentDetails;
@override
void initState() {
super.initState();
intentDetails = widget.intentDetails;
}
@override
Widget build(BuildContext context) {
return Scaffold(
body: Padding(
padding: const EdgeInsets.all(10),
child: Column(
mainAxisAlignment: MainAxisAlignment.center,
mainAxisSize: MainAxisSize.max,
children: [
const Text("DO Something Using intent Details"),
Text("\nName : ${intentDetails.name}"),
Text("Type : ${intentDetails.type}"),
Text("Size : ${(intentDetails.size)}"),
Text("lastModifiedDate : ${(intentDetails.lastModifiedDate)}"),
Text("Path : ${(intentDetails.path)}"),
],
),
),
);
}
}