package com.wisedu.scc.love.utils;
import android.annotation.SuppressLint;
import android.content.Context;
import android.os.Environment;
import java.io.File;
@SuppressLint("NewApi")
public class EnvironmentUtil {
public static final String APP = "/love";
public static final String APK = "/apk";
public static final String IMAGE = "/image";
public static final String AUDIO = "/audio";
public static final String LOG = "/log";
public static final String DOWNLOAD = "/download";
/**
* 检查SDK卡是否存在
* @return
*/
public static boolean checkSDCard() {
if (Environment.getExternalStorageState().equals(
Environment.MEDIA_MOUNTED))
return true;
else
return false;
}
/**
* 获取APP路径
* @param context
* @return
*/
public static File getAppDirectory(Context context) {
String path = getRootPath(context) + APK;
return mkdir(path);
}
/**
* 获取图片目录
* @param context
* @return
*/
public static File getImageDirectory(Context context) {
String path = getRootPath(context) + IMAGE;
return mkdir(path);
}
/**
* 获取视屏目录
* @param context
* @return
*/
public static File getAudioDirectory(Context context) {
String path = getRootPath(context) + AUDIO;
return mkdir(path);
}
/**
* 获取日志目录
* @param context
* @return
*/
public static File getLogDirectory(Context context) {
String path = getRootPath(context) + LOG;
return mkdir(path);
}
/**
* 获取下载目录
* @param context
* @return
*/
public static File getDownloadDirectory(Context context) {
String path = getRootPath(context) + DOWNLOAD;
return mkdir(path);
}
/**
* 获取根目录
* @param context
* @return
*/
public static String getRootPath(Context context) {
return getSDPath(context) + APP;
}
/**
* 创建一个路径
* @param path
* @return
*/
public static File mkdir(String path) {
final File file = new File(path);
if (!file.exists()) {
file.mkdirs();
}
return file;
}
/**
* 获取SDK卡路径
*/
private static String getSDPath(Context context) {
if (checkSDCard()) {
return Environment.getExternalStorageDirectory().getPath();// 获取根目录
} else {
return context.getFilesDir().getPath();
}
}
/**
* 获取外部照片存储路径
* @param folderName
* @return
*/
public static String getExternalPhotoSavePath(String folderName) {
File path = Environment
.getExternalStoragePublicDirectory(Environment.DIRECTORY_PICTURES);
path = new File(path, folderName);
if (!path.exists()) {
path.mkdirs();
}
return path.getAbsolutePath();
}
private static final String SDCARD_FOLDER_FORMAT = Environment
.getExternalStorageDirectory() + "/Android/data/%s/files/";
/**
* 获取内部照片存储路径
* @param packagename
* @return
*/
public static String getInternalPhotoSavedPath(String packagename){
String path = String.format(SDCARD_FOLDER_FORMAT, packagename);
File file = new File(path);
if (!file.exists()) {
file.mkdirs();
}
return path;
}
}