-
Notifications
You must be signed in to change notification settings - Fork 9
Expand file tree
/
Copy pathpath_page.dart
More file actions
95 lines (84 loc) · 3.3 KB
/
path_page.dart
File metadata and controls
95 lines (84 loc) · 3.3 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
import 'dart:io';
import 'package:flutter/material.dart';
import 'package:flutter_util_code/utils.dart';
import 'package:flutter_util_code_example/widget/display_screen.dart';
/// Name: Path工具页
/// Created by Fitem on 2023/6/5
class PathPage extends StatefulWidget {
const PathPage({Key? key}) : super(key: key);
@override
UuidPageState createState() => UuidPageState();
}
class UuidPageState<UuidPage> extends State {
final GlobalKey<DisplayScreenState> globalKey = GlobalKey();
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: const Text('Path工具类'),
),
body: SizedBox(
width: double.infinity,
height: double.infinity,
child: Column(
children: [
ElevatedButton(onPressed: _handlePath , child: const Text('获取系统Path信息')),
const Spacer(),
Expanded(
flex: 2,
child: DisplayScreen(key: globalKey)
),
],
),
),
);
}
/// 添加内容
void addContent(String content) {
globalKey.currentState?.addContent(content);
}
Future<void> _handlePath() async {
// App缓存目录
String appCachePath = await PathUtils.getAppCachePath();
// App支持目录
String appSupportPath = await PathUtils.getAppSupportPath();
// App文档目录
String appDocPath = await PathUtils.getAppDocPath();
// iOS / Android 通用目录
addContent('App缓存目录: $appCachePath\n');
addContent('App支持目录: $appSupportPath\n');
addContent('App文档目录: $appDocPath\n');
// iOS独有目录
if(Platform.isIOS || Platform.isMacOS) {
// 下载目录 - 仅iOS
String downloadPath = await PathUtils.getDownloadPath();
addContent('下载目录: $downloadPath\n');
} else if(Platform.isAndroid) {
// Android独有目录
// Android外部存储目录
String androidStoragePath = await PathUtils.getAndroidStoragePath();
// Android外部缓存目录
List<String> androidExternalCachePaths = await PathUtils.getAndroidExternalCachePaths();
// Android图片目录
List<String> androidPicturePaths = await PathUtils.getAndroidPicturePaths();
// Android视频目录
List<String> androidMoviePaths = await PathUtils.getAndroidMoviePaths();
// Android音乐目录
List<String> androidMusicPaths = await PathUtils.getAndroidMusicPaths();
// Android相机目录
List<String> androidDCIMPaths = await PathUtils.getAndroidDCIMPaths();
// Android下载目录
List<String> androidDownloadPaths = await PathUtils.getAndroidDownloadPaths();
// Android文档目录
List<String> androidDocumentPaths = await PathUtils.getAndroidDocumentPaths();
addContent('Android外部存储目录: $androidStoragePath\n');
addContent('Android外部缓存目录: $androidExternalCachePaths\n');
addContent('Android图片目录: $androidPicturePaths\n');
addContent('Android视频目录: $androidMoviePaths\n');
addContent('Android音乐目录: $androidMusicPaths\n');
addContent('Android相机目录: $androidDCIMPaths\n');
addContent('Android下载目录: $androidDownloadPaths\n');
addContent('Android文档目录: $androidDocumentPaths\n');
}
}
}