JaxAdam
@JaxAdam
Junior Full-Stack Developer

Кто может помочь с ошибкой подключения превью Camera 2 API?

Добрый день, форумчане! Прошу помочь просветленных коллег) На экране вместо камеры, я вижу, прямоугольник закрашенный в СЕРЫЙ цвет.

Логи ошибок:
2020-03-09 16:04:42.392 10004-10004/com.example.geocam W/ActivityThread: handleWindowVisibility: no activity for token android.os.BinderProxy@e234877
2020-03-09 16:04:43.131 10004-10004/com.example.geocam W/ActivityThread: handleWindowVisibility: no activity for token android.os.BinderProxy@f9f4707
2020-03-09 16:04:43.187 10004-10004/com.example.geocam I/CameraManagerGlobal: Connecting to camera service
2020-03-09 16:04:43.189 10004-10004/com.example.geocam E/libc: Access denied finding property "vendor.camera.aux.packagelist"
2020-03-09 16:04:43.183 10004-10004/com.example.geocam W/.example.geocam: type=1400 audit(0.0:68683): avc: denied { read } for name="u:object_r:vendor_camera_prop:s0" dev="tmpfs" ino=4391 scontext=u:r:untrusted_app:s0:c162,c256,c512,c768 tcontext=u:object_r:vendor_camera_prop:s0 tclass=file permissive=0
2020-03-09 16:04:43.183 10004-10004/com.example.geocam I/chatty: uid=10162(com.example.geocam) identical 5 lines
2020-03-09 16:04:43.183 10004-10004/com.example.geocam W/Binder:10004_3: type=1400 audit(0.0:68689): avc: denied { read } for name="u:object_r:vendor_camera_prop:s0" dev="tmpfs" ino=4391 scontext=u:r:untrusted_app:s0:c162,c256,c512,c768 tcontext=u:object_r:vendor_camera_prop:s0 tclass=file permissive=0
2020-03-09 16:04:43.189 10004-10004/com.example.geocam E/libc: Access denied finding property "vendor.camera.aux.packagelist"
2020-03-09 16:04:43.183 10004-10004/com.example.geocam W/Binder:10004_3: type=1400 audit(0.0:68690): avc: denied { read } for name="u:object_r:vendor_camera_prop:s0" dev="tmpfs" ino=4391 scontext=u:r:untrusted_app:s0:c162,c256,c512,c768 tcontext=u:object_r:vendor_camera_prop:s0 tclass=file permissive=0
2020-03-09 16:04:43.190 10004-10004/com.example.geocam E/libc: Access denied finding property "vendor.camera.aux.packagelist"
2020-03-09 16:04:43.190 10004-10004/com.example.geocam W/CameraManagerGlobal: [soar.cts] ignore the status update of camera: 2
2020-03-09 16:04:43.190 10004-10004/com.example.geocam E/libc: Access denied finding property "vendor.camera.aux.packagelist"
2020-03-09 16:04:43.190 10004-10004/com.example.geocam W/CameraManagerGlobal: [soar.cts] ignore the status update of camera: 3
2020-03-09 16:04:43.190 10004-10004/com.example.geocam E/libc: Access denied finding property "vendor.camera.aux.packagelist"
2020-03-09 16:04:43.190 10004-10004/com.example.geocam E/libc: Access denied finding property "vendor.camera.aux.packagelist"
2020-03-09 16:04:43.190 10004-10004/com.example.geocam I/geoCamLogs: Камера ID: 0
2020-03-09 16:04:43.190 10004-10019/com.example.geocam E/libc: Access denied finding property "vendor.camera.aux.packagelist"
2020-03-09 16:04:43.190 10004-10019/com.example.geocam I/chatty: uid=10162(com.example.geocam) Binder:10004_3 identical 1 line
2020-03-09 16:04:43.191 10004-10019/com.example.geocam E/libc: Access denied finding property "vendor.camera.aux.packagelist"
2020-03-09 16:04:43.191 10004-10019/com.example.geocam W/CameraManagerGlobal: ignore the torch status update of camera: 2
2020-03-09 16:04:43.191 10004-10004/com.example.geocam I/geoCamLogs: Камера ID: 1
2020-03-09 16:04:43.191 10004-10019/com.example.geocam E/libc: Access denied finding property "vendor.camera.aux.packagelist"
2020-03-09 16:04:43.191 10004-10019/com.example.geocam W/CameraManagerGlobal: ignore the torch status update of camera: 3


Как я понял, ошибка связана с недопуском. Мне не дается разрешение на некое свойство "vendor.camera.aux.packagelist". Ууу, да я гений! Нет) Я тупица, который не понимает, почему это происходит)

В манифесте прописал, что приложение юзает камеру:
<uses-permission android:name="android.permission.CAMERA"/>
    <uses-feature android:name="android.hardware.camera" />
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>

В активити камеры поставил проверку разрешении, прописал сразу вместе с проверкой разрешения юзать память (но память юзать я пока не начал, тестирую только камеру):
if (checkSelfPermission(Manifest.permission.CAMERA) != PackageManager.PERMISSION_GRANTED
                ||
                (ContextCompat.checkSelfPermission(CameraActivity.this, Manifest.permission.WRITE_EXTERNAL_STORAGE) != PackageManager.PERMISSION_GRANTED)
        ) {
            requestPermissions(new String[]{Manifest.permission.CAMERA, Manifest.permission.WRITE_EXTERNAL_STORAGE}, 1);
        }

С чем я связываю проблему? Теоретически, я грешу на свой телефон, Xiaomi Mi A2. А других вариантов у меня, к сожалению, нет...
  • Вопрос задан
  • 854 просмотра
Решения вопроса 1
JaxAdam
@JaxAdam Автор вопроса
Junior Full-Stack Developer
Ответ на самом деле очень туп))) В вызове метода для открытия камеры есть дополнительная проверка разрешений. В ней в сравнении поставил неправильный знак. Это:
if (checkSelfPermission(Manifest.permission.CAMERA) != PackageManager.PERMISSION_GRANTED) {
                    mCameraManager.openCamera(mCameraID, mCameraCallback, null);
                }else{
                    Log.e(LOG_TAG, "Нет разрешения для запуска камеры");
                }

поменял на:
if (checkSelfPermission(Manifest.permission.CAMERA) == PackageManager.PERMISSION_GRANTED) {
                    mCameraManager.openCamera(mCameraID, mCameraCallback, null);
                }else{
                    Log.e(LOG_TAG, "Нет разрешения для запуска камеры");
                }
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы