Android开发只有相机权限,没有存储权限进行拍照显示

2024-04-02  本文已影响0人  你的益达233
首先一开始我觉得这需求就不合理,拍完你总得有个地方存下来吧,才能显示。

重点:存储目录还是要给的,但这次给的是应用的内部存储路径。这个路径是不用存储权限的。

在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
        }
}

有问题的可评论或者私信我

上一篇 下一篇

猜你喜欢

热点阅读