While using camera in service mobile screen is getting un-touchable(locked by transparent window ) and only below error is occuring
Access denied finding proper
Access denied finding property
like error<uses-permission android:name="android.permission.xxx"/>
type=1400 audit(xxx): avc: denied { xxx } for name=xxx dev=xxx ino=xxx scontext=xxx tcontext=xxx tclass=xxx permissive=0
avc: denied
error ?audit2allow
and related tool to fix.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.
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.
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.
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.