forked from D-clock/AndroidStudyCode
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathFolderManager.java
More file actions
108 lines (90 loc) · 2.43 KB
/
FolderManager.java
File metadata and controls
108 lines (90 loc) · 2.43 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
96
97
98
99
100
101
102
103
104
105
106
107
108
package com.clock.study.manager;
import android.Manifest;
import android.app.AlertDialog;
import android.content.Context;
import android.content.pm.PackageManager;
import android.os.Environment;
import android.support.v4.app.ActivityCompat;
import com.clock.study.R;
import java.io.File;
/**
* 目录管理器
* <p/>
* Created by Clock on 2016/5/27.
*/
public class FolderManager {
/**
* 应用程序在SD卡上的主目录名称
*/
private final static String APP_FOLDER_NAME = "AndroidStudy";
/**
* 存放图片目录名
*/
private final static String PHOTO_FOLDER_NAME = "photo";
/**
* 存放闪退日志目录名
*/
private final static String CRASH_LOG_FOLDER_NAME = "crash";
private FolderManager() {
}
/**
* 获取app在sd卡上的主目录
*
* @return 成功则返回目录,失败则返回null
*/
public static File getAppFolder() {
if (Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)) {
File appFolder = new File(Environment.getExternalStorageDirectory(), APP_FOLDER_NAME);
return createOnNotFound(appFolder);
} else {
return null;
}
}
/**
* 获取应用存放图片的目录
*
* @return 成功则返回目录名,失败则返回null
*/
public static File getPhotoFolder() {
File appFolder = getAppFolder();
if (appFolder != null) {
File photoFolder = new File(appFolder, PHOTO_FOLDER_NAME);
return createOnNotFound(photoFolder);
} else {
return null;
}
}
/**
* 获取闪退日志存放目录
*
* @return
*/
public static File getCrashLogFolder() {
File appFolder = getAppFolder();
if (appFolder != null) {
File crashLogFolder = new File(appFolder, CRASH_LOG_FOLDER_NAME);
return createOnNotFound(crashLogFolder);
} else {
return null;
}
}
/**
* 创建目录
*
* @param folder
* @return 创建成功则返回目录,失败则返回null
*/
private static File createOnNotFound(File folder) {
if (folder == null) {
return null;
}
if (!folder.exists()) {
folder.mkdirs();
}
if (folder.exists()) {
return folder;
} else {
return null;
}
}
}