1.确定 APP 包名
2.录制结束增加弹窗提示 3.完成读取剪切板内容、新增粘贴剪切板内容
This commit is contained in:
@@ -1,3 +1,5 @@
|
||||
import 'dart:async';
|
||||
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:flutter/services.dart';
|
||||
import 'package:flutter_riverpod/flutter_riverpod.dart';
|
||||
@@ -18,12 +20,31 @@ class AppBootstrapper {
|
||||
await SystemChrome.setPreferredOrientations([DeviceOrientation.portraitUp]);
|
||||
|
||||
await AppStorage.init();
|
||||
final packageInfo = await AppPlatformInfo.packageInfo();
|
||||
|
||||
AppConfig.configure(environment: environment, packageInfo: packageInfo);
|
||||
AppConfig.configure(environment: environment);
|
||||
|
||||
AppLogger.debug('App started in ${AppConfig.current.environment.name}');
|
||||
|
||||
runApp(const ProviderScope(child: FlutterTemplateApp()));
|
||||
|
||||
// Load native package metadata after the first frame can render.
|
||||
// Awaiting MethodChannel calls before runApp() can stall the Android
|
||||
// splash screen on some devices.
|
||||
unawaited(_loadPackageInfo(environment));
|
||||
}
|
||||
|
||||
static Future<void> _loadPackageInfo(AppEnvironment environment) async {
|
||||
try {
|
||||
final packageInfo = await AppPlatformInfo.packageInfo().timeout(
|
||||
const Duration(seconds: 8),
|
||||
);
|
||||
AppConfig.configure(environment: environment, packageInfo: packageInfo);
|
||||
} catch (error, stackTrace) {
|
||||
AppLogger.debug(
|
||||
'Native packageInfo unavailable',
|
||||
error: error,
|
||||
stackTrace: stackTrace,
|
||||
);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user