Android - Camera 2 API - 拍照失败

4
我在Android中使用Camera 2 API时遇到了问题。我正在使用Android Studio进行原生开发。当我在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.


那是在模拟器上吗? - Alex Cohn
你能发布一下你在清单文件中声明的权限列表吗?也许你只是缺少一个或几个权限。 - Nikos Hidalgo
我有同样的问题,在清单中添加了所有所需的权限并在运行时检查了权限(适用于API级别23+),因此我想权限不应该是问题(至少在我的情况下)。 - dnhyde
1个回答

2

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

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

但正如我所说,这只是一个场景,问题可能还有其他的情况。

希望这能对某些人有所帮助。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接