小编Mas*_*son的帖子

无法使用 CameraX 将捕获的图像保存到外部媒体目录

我正在关注有关如何在 Android 上使用 CameraX API 的此代码实验室示例链接,但是当我尝试捕获图像并将其保存到在主活动的 Oncreate 方法中创建的外部媒体目录时,我收到一条错误消息:无法将捕获结果保存到指定位置

下面是创建目录的方法,在 Oncreate 方法中调用:

    private fun getOutputDirectory(): File {
            val mediaDir = externalMediaDirs.firstOrNull()?.let {
                File(it, resources.getString(R.string.app_name)).apply { mkdirs() } }
            return if (mediaDir != null && mediaDir.exists())
            { Log.i(TAG, mediaDir.path); mediaDir } else {  filesDir }
        }
Run Code Online (Sandbox Code Playgroud)

根据我在 Android 文档中阅读的内容,externalMediaDirs在外部存储中创建了一个文件夹,虽然我的手机没有外部存储,但该文件夹已在此路径下成功创建:/storage/emulated/0/Android/media/com.example.camerax/cameraX

然后当点击拍照图像按钮时调用此方法:

private fun takePhoto() {
        // Get a stable reference of the modifiable image capture use case
        val imageCapture = imageCapture ?: return

        // Create time-stamped output file …
Run Code Online (Sandbox Code Playgroud)

android kotlin android-camerax

4
推荐指数
1
解决办法
1551
查看次数

标签 统计

android ×1

android-camerax ×1

kotlin ×1