Access denied finding property “camera.hal1.packag

2019-03-14 22:02发布

问题:

While using camera in service mobile screen is getting un-touchable(locked by transparent window ) and only below error is occuring

Access denied finding property "camera.hal1.packagelist"

what will be the reason and its solution? Please help..

回答1:

I was working with the OpenCV tutorial code for camera app on android. I encountered the same error, and after looking at the answers I indeed missed one permission.

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>

Although the app doesn't save any data externally, without this permission, the access denied error occurs. Hope it helps.



回答2:

I got the same error in my app, i was using surface view and had it weight set to zero. I changed it back to 1 and the error got resolved. Do check your xml code, it may help.



回答3:

Please see if you asking for the Camera permission from the user. Just specifying the permission in manifest is not gonna work above a certain Android level.
This will solve your problem.

How to ask for permission follow this link.



回答4:

I had the same problem with the Camera 1 API on my Test device "LG V30". I found out, that this message (Access denied finding property "camera.hal1.packagelist") appeared when I opened the camera like this:

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;
    }
}

Important is, that this only happened for the LG V30, which has 2 back cameras (numberOfCameras=3).

After some testing I found out, that this works for this device:

/** 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
}

The example code above will access the first, back-facing camera on a device with more than one camera. Here you can find a detailed description.