Reputation: 2173
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..
Upvotes: 31
Views: 22797
Reputation: 512
My problem was for using Camera
in android versions higher than API 23
, I made two implementations.
if (Build.VERSION.SDK_INT < Build.VERSION_CODES.M) {
camera = Camera.open();
parameters = camera.getParameters();
camera.startPreview();
}
...
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
CameraManager cameraManager = (CameraManager) context.getSystemService(Context.CAMERA_SERVICE);
try {
String cameraId = cameraManager.getCameraIdList()[0];
cameraManager.setTorchMode(cameraId, true);
} catch (Exception e) {
e.printStackTrace();
}
} else {
parameters.setFlashMode(Parameters.FLASH_MODE_TORCH);
camera.setParameters(parameters);
}
For more information there is Camera
, Camera2
and CameraX
source https://developer.android.com/training/camera/choose-camera-library
Upvotes: 0
Reputation: 14328
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.Upvotes: 0
Reputation: 71
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.
Upvotes: 4
Reputation: 5468
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.
Upvotes: 1
Reputation: 1934
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.
Upvotes: 0
Reputation: 21
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.
Upvotes: 2