You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
63 lines
1.6 KiB
63 lines
1.6 KiB
import 'package:flutter/material.dart'; |
|
import 'dart:async'; |
|
|
|
import 'package:flutter/services.dart'; |
|
import 'package:secure_storage/secure_storage.dart'; |
|
|
|
void main() { |
|
runApp(const MyApp()); |
|
} |
|
|
|
class MyApp extends StatefulWidget { |
|
const MyApp({super.key}); |
|
|
|
@override |
|
State<MyApp> createState() => _MyAppState(); |
|
} |
|
|
|
class _MyAppState extends State<MyApp> { |
|
String _platformVersion = 'Unknown'; |
|
final _secureStoragePlugin = SecureStorage(); |
|
|
|
@override |
|
void initState() { |
|
super.initState(); |
|
initPlatformState(); |
|
} |
|
|
|
// Platform messages are asynchronous, so we initialize in an async method. |
|
Future<void> initPlatformState() async { |
|
String platformVersion; |
|
// Platform messages may fail, so we use a try/catch PlatformException. |
|
// We also handle the message potentially returning null. |
|
try { |
|
platformVersion = |
|
await _secureStoragePlugin.getPlatformVersion() ?? 'Unknown platform version'; |
|
} on PlatformException { |
|
platformVersion = 'Failed to get platform version.'; |
|
} |
|
|
|
// If the widget was removed from the tree while the asynchronous platform |
|
// message was in flight, we want to discard the reply rather than calling |
|
// setState to update our non-existent appearance. |
|
if (!mounted) return; |
|
|
|
setState(() { |
|
_platformVersion = platformVersion; |
|
}); |
|
} |
|
|
|
@override |
|
Widget build(BuildContext context) { |
|
return MaterialApp( |
|
home: Scaffold( |
|
appBar: AppBar( |
|
title: const Text('Plugin example app'), |
|
), |
|
body: Center( |
|
child: Text('Running on: $_platformVersion\n'), |
|
), |
|
), |
|
); |
|
} |
|
}
|
|
|