Доступ запретил поиск свойства "camera.hal1.packagelist"
При использовании камеры в сервисе мобильный экран становится не трогательным (заблокирован прозрачным окном)
и только ниже ошибки происходит
Access denied finding property "camera.hal1.packagelist"
Какова будет причина и ее решение?
Пожалуйста, помогите..
Ответы
Ответ 1
Я работал с учебным кодом OpenCV для приложения камеры на Android. Я столкнулся с той же ошибкой, и после просмотра ответов я действительно пропустил одно разрешение.
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
Хотя приложение не сохраняет никаких данных извне, без этого разрешения возникает ошибка отказа в доступе. Надеюсь, поможет.
Ответ 2
Я получил ту же ошибку в моем приложении, я использовал вид поверхности, и его вес был установлен на ноль. Я изменил его обратно на 1, и ошибка была устранена. Проверьте свой код XML, это может помочь.
Ответ 3
Пожалуйста, посмотрите, запрашиваете ли вы разрешение камеры у пользователя. Просто указание разрешения в манифесте не сработает выше определенного уровня Android.
Это решит вашу проблему.
Как запросить разрешение перейдите по этой ссылке.
Ответ 4
У меня была такая же проблема с Camera 1 API на моем тестовом устройстве "LG V30". Я обнаружил, что это сообщение (Access denied finding property "camera.hal1.packagelist"
) появилось, когда я открыл камеру следующим образом:
int numberOfCameras = Camera.getNumberOfCameras();
CameraInfo cameraInfo = new CameraInfo();
for (int i = 0; i < numberOfCameras; i++) {
Camera.getCameraInfo(i, cameraInfo);
if (cameraInfo.facing == CameraInfo.CAMERA_FACING_BACK) {
camera = Camera.open(i);
cameraId = i;
}
}
Важно то, что это произошло только для LG V30, который имеет 2 задние камеры (numberOfCameras=3
).
После некоторого тестирования я узнал, что это работает для этого устройства:
/** A safe way to get an instance of the Camera object. */
public static Camera getCameraInstance(){
Camera c = null;
try {
c = Camera.open(); // attempt to get a Camera instance
}
catch (Exception e){
// Camera is not available (in use or does not exist)
}
return c; // returns null if camera is unavailable
}
Приведенный выше пример кода будет обращаться к первой, обращенной назад камере на устройстве с несколькими камерами. Здесь вы можете найти подробное описание.