首先一开始我觉得这需求就不合理,拍完你总得有个地方存下来吧,才能显示。
重点:存储目录还是要给的,但这次给的是应用的内部存储路径。这个路径是不用存储权限的。
在Android中,每个应用程序都有一个私有的内部存储空间,可以通过Context对象来获取这个目录的路径。使用getFilesDir()方法来获取应用的内部存储目录,然后再这个目录下创建一个子目录来存放图片文件。
File direcotory = context.getFilesDir()
我项目用的kotlin代码示例(兼容高低版本):
fun getSandboxPath(mContext: Context,pathDir:String = "download"): String? {
//LogUtils.i("地址二", mContext.filesDir.absolutePath)
//LogUtils.i("地址三", mContext.cacheDir.absolutePath)
return if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q){
mContext.getExternalFilesDir("")?.let {
File(it.absolutePath, pathDir).apply {
if (!exists()) mkdirs()
}.absolutePath + File.separator
}
} else {
File(mContext.filesDir, pathDir).apply {
if (!exists()) mkdirs()
}.absolutePath + File.separator
}
}
有问题的可评论或者私信我
网友评论