package com.casic.endoscope.utils import android.app.Activity import android.content.Intent import android.net.Uri import android.os.Build import android.os.Environment import android.provider.Settings import android.util.Log import com.pengxh.kt.lite.extensions.timestampToDate import java.io.File object FileManager { private const val kTag = "FileManager" private lateinit var directory: File fun initRootDirectory(activity: Activity) { //先判断MANAGE_EXTERNAL_STORAGE权限 if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.R) { if (!Environment.isExternalStorageManager()) { val intent = Intent(Settings.ACTION_MANAGE_APP_ALL_FILES_ACCESS_PERMISSION) intent.data = Uri.parse("package:${activity.packageName}") activity.startActivity(intent) } } directory = File("${Environment.getExternalStorageDirectory()}/Endoscope") if (!directory.exists()) { Log.d(kTag, "createRootDirectory: 新建文件夹") directory.mkdirs() } Log.d(kTag, "createRootDirectory: $directory") } fun getRootDirectory(): File { return directory } fun getVideoFileDir(): File { val videoDir = File(getRootDirectory(), "Video") if (!videoDir.exists()) { videoDir.mkdir() } val childDir = File(videoDir, System.currentTimeMillis().timestampToDate()) if (!childDir.exists()) { childDir.mkdir() } return childDir } fun getImageFileDir(): File { val imageDir = File(getRootDirectory(), "Picture") if (!imageDir.exists()) { imageDir.mkdir() } val childDir = File(imageDir, System.currentTimeMillis().timestampToDate()) if (!childDir.exists()) { childDir.mkdir() } return childDir } }