【问题标题】:Android - Camera 2 API - won't take pictureAndroid - Camera 2 API - 不会拍照
【发布时间】:2019-11-01 15:45:13
【问题描述】:

我在 Android 中遇到了 Camera 2 API 的问题。我正在使用带有 Android Studio 的原生 android。相机在 TextureView 上没问题,但是当我尝试拍照时。它不起作用。我在 Camera 2 API 的官方 github 页面中关注了 Kotlin Basic Example 。当我打开相机活动时,我看到了 Logcat:

2018-11-14 09:37:59.963 4009-4009/sayurbox.com.oms E/libc: Access denied finding property "persist.camera.privapp.list"
2018-11-14 09:37:59.965 4009-4958/sayurbox.com.oms E/libc: Access denied finding property "camera.hal1.packagelist"
2018-11-14 09:38:00.166 4009-5002/sayurbox.com.oms E/libc: Access denied finding property "persist.camera.legacy_perf"
2018-11-14 09:38:01.971 4009-4957/sayurbox.com.oms E/RequestQueue: cancel failed: no repeating request exists.

【问题讨论】:

  • 模拟器上有吗?
  • 您可以发布您在清单上声明的权限列表吗?可能你只是缺少一个/几个
  • 我有同样的问题,在清单中添加了所有需要的权限并检查了permissions at runtime(API 级别 23+ 所必需的)所以我想权限不应该是问题(至少在我的情况下) )

标签: android android-camera2


【解决方案1】:

我不知道你的确切情况,但在大多数情况下,如果没有在正确的线程中运行,就会发生这种情况。例如,仅运行mediaRecorder.start() 会导致类似的错误,但将媒体记录器放在 UI 线程上运行可以解决此问题。

runOnUiThread(
        new Runnable() {
        @Override
        public void run() {
            mediaRecorder.start();
        }
});

但正如我所说,这是一次场景,可能还有其他场景也可以解决这个问题。

希望它对某人有所帮助。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-10-06
    • 2012-08-10
    • 1970-01-01
    • 2015-03-13
    相关资源
    最近更新 更多