hyzp_ybqx-Commit001:代码刚转换好,编译通过
This commit is contained in:
@@ -0,0 +1,77 @@
|
||||
class Common {
|
||||
factory Common() => _getInstance();
|
||||
|
||||
static Common get instance => _getInstance();
|
||||
static Common _instance; // 单例对象
|
||||
|
||||
static Common _getInstance() {
|
||||
if (_instance == null) {
|
||||
_instance = Common._internal();
|
||||
}
|
||||
return _instance;
|
||||
}
|
||||
|
||||
Common._internal();
|
||||
|
||||
/////////////////////////////////////////////////////////////
|
||||
|
||||
String sDCardDir;
|
||||
|
||||
String getFileSize(int fileSize) {
|
||||
String str = '';
|
||||
|
||||
if (fileSize < 1024) {
|
||||
str = '${fileSize.toStringAsFixed(2)}B';
|
||||
} else if (1024 <= fileSize && fileSize < 1048576) {
|
||||
str = '${(fileSize / 1024).toStringAsFixed(2)}KB';
|
||||
} else if (1048576 <= fileSize && fileSize < 1073741824) {
|
||||
str = '${(fileSize / 1024 / 1024).toStringAsFixed(2)}MB';
|
||||
}
|
||||
|
||||
return str;
|
||||
}
|
||||
|
||||
String selectIcon(String ext) {
|
||||
String iconImg = 'assets/files_icons/unknown.png';
|
||||
|
||||
switch (ext) {
|
||||
case '.ppt':
|
||||
case '.pptx':
|
||||
iconImg = 'assets/files_icons/ppt.png';
|
||||
break;
|
||||
case '.doc':
|
||||
case '.docx':
|
||||
iconImg = 'assets/files_icons/word.png';
|
||||
break;
|
||||
case '.xls':
|
||||
case '.xlsx':
|
||||
iconImg = 'assets/files_icons/excel.png';
|
||||
break;
|
||||
case '.jpg':
|
||||
case '.jpeg':
|
||||
case '.png':
|
||||
iconImg = 'assets/files_icons/image.png';
|
||||
break;
|
||||
case '.txt':
|
||||
iconImg = 'assets/files_icons/txt.png';
|
||||
break;
|
||||
case '.mp3':
|
||||
iconImg = 'assets/files_icons/mp3.png';
|
||||
break;
|
||||
case '.mp4':
|
||||
iconImg = 'assets/files_icons/video.png';
|
||||
break;
|
||||
case '.rar':
|
||||
case '.zip':
|
||||
iconImg = 'assets/files_icons/zip.png';
|
||||
break;
|
||||
case '.psd':
|
||||
iconImg = 'assets/files_icons/psd.png';
|
||||
break;
|
||||
default:
|
||||
iconImg = 'assets/files_icons/file.png';
|
||||
break;
|
||||
}
|
||||
return iconImg;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,82 @@
|
||||
import 'dart:async';
|
||||
import 'dart:io';
|
||||
|
||||
import 'package:flutter/material.dart';
|
||||
import 'common.dart';
|
||||
//import 'file_manager.dart';
|
||||
import 'package:path_provider/path_provider.dart';
|
||||
import 'package:permission_handler/permission_handler.dart';
|
||||
import 'package:intl/date_symbol_data_local.dart';
|
||||
import 'package:fluttertoast/fluttertoast.dart';
|
||||
import 'package:flutter/services.dart';
|
||||
import '../main.dart';
|
||||
|
||||
checkPermission() {
|
||||
WidgetsFlutterBinding.ensureInitialized();
|
||||
initializeDateFormatting("zh_CN", null).then((value) async{
|
||||
bool ret = await getPermission();
|
||||
if (ret) {
|
||||
getSDCardDir().then((value) {
|
||||
//runApp(MyApp());
|
||||
runApp(MaterialApp(
|
||||
//title: '启动图demo',
|
||||
debugShowCheckedModeBanner: false,
|
||||
theme: new ThemeData(
|
||||
brightness: Brightness.light,
|
||||
backgroundColor: Colors.white,
|
||||
platform: TargetPlatform.android),
|
||||
home: new SplashScreen(),
|
||||
routes: <String, WidgetBuilder>{
|
||||
'/home': (BuildContext context) => MyApp()
|
||||
},
|
||||
));
|
||||
});
|
||||
} else {
|
||||
Fluttertoast.showToast(msg: '用户未授权,程序无法正常运行!', gravity: ToastGravity.CENTER);
|
||||
SystemChannels.platform.invokeMethod('SystemNavigator.pop');
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
// Permission check,适用于 permission_handler: ^5.x.x
|
||||
Future<bool> getPermission() async {
|
||||
if (Platform.isAndroid) {
|
||||
// You can request multiple permissions at once.
|
||||
Map<Permission, PermissionStatus> permissionStatuses = await [
|
||||
Permission.storage,
|
||||
Permission.camera,
|
||||
Permission.microphone,
|
||||
].request();
|
||||
|
||||
if (permissionStatuses[Permission.storage] != PermissionStatus.granted ||
|
||||
permissionStatuses[Permission.camera] != PermissionStatus.granted ||
|
||||
permissionStatuses[Permission.microphone] != PermissionStatus.granted) {
|
||||
return false;
|
||||
}
|
||||
} else if (Platform.isIOS) {}
|
||||
return true;
|
||||
}
|
||||
|
||||
// Permission check,适用于 permission_handler: ^3.3.0
|
||||
// Future<bool> getPermission() async {
|
||||
// List<PermissionGroup> permissionGroupList = [
|
||||
// PermissionGroup.storage,
|
||||
// PermissionGroup.camera,
|
||||
// PermissionGroup.microphone,
|
||||
// ];
|
||||
// if (Platform.isAndroid) {
|
||||
// PermissionStatus permission = await PermissionHandler().checkPermissionStatus(PermissionGroup.storage);
|
||||
// if (permission != PermissionStatus.granted) {
|
||||
// await PermissionHandler().requestPermissions(permissionGroupList);
|
||||
// }
|
||||
// permission = await PermissionHandler().checkPermissionStatus(PermissionGroup.storage);
|
||||
// if (permission != PermissionStatus.granted) {
|
||||
// return false;
|
||||
// }
|
||||
// } else if (Platform.isIOS) {}
|
||||
// return true;
|
||||
// }
|
||||
|
||||
Future<void> getSDCardDir() async {
|
||||
Common().sDCardDir = (await getExternalStorageDirectory()).path;
|
||||
}
|
||||
Reference in New Issue
Block a user