android - getExternalStorageDirectory 在 Android 10 中已弃用
问题描述
我正在尝试使用 ARCore 和 Kotlin 生成文件名来保存 AR 模型。
自 Android 10 起,Environment 方法已因隐私问题getExternalStoragePublicDirectory()
而getExternalStorageDirectory()
被弃用。
什么可以替代以下代码?
private fun generateFileName() : String {
val date = SimpleDateFormat("yyyyMMddHHmmss", java.util.Locale.getDefault()).format(Date())
return Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_PICTURES) + File.separator + "CardAR/" + date + "_screenshot.jpg"
}
解决方案
private File getAbsoluteFile(String relativePath, Context context) {
if (Environment.MEDIA_MOUNTED.equals(Environment.getExternalStorageState())) {
return new File(context.getExternalFilesDir(null), relativePath);
} else {
return new File(context.getFilesDir(), relativePath);
}
}
此方法将返回文件的完整路径。
推荐阅读
- python - Color a Specific character in python3
- windows - Setting up Matomo using NGINX web server on Windows
- r - R geom_density over geom_histogram with facet_grid 未显示
- swift - NSInternalInconsistencyException', reason: 'FIRESTORE INTERNAL ASSERTION FAILED
- excel - EXCEL validate userform textbox
- c++ - Smart pointers for set of abstract objects?
- c++ - What does v[a]++ mean? In this code, why are all v[a] values 1?
- seaborn - Seaborn heatmap colobar:如何确保正确的类顺序和正确的颜色显示
- node.js - 有没有办法在路由器之外的 express.js 中获取会话数据
- android - 如何在 Android 的自定义单选按钮中居中文本