J'ai eu le même problème avec l'Appareil photo 1 API sur mon appareil de Test "LG V30". J'ai découvert que ce message (Access denied finding property "camera.hal1.packagelist"
) est apparu quand j'ai ouvert l'appareil photo comme ceci:
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;
}
}
L'Important c'est que cela s'est produit seulement pour le LG V30, qui dispose de 2 caméras (numberOfCameras=3
).
Après quelques tests, j'ai découvert, que cela fonctionne pour cet appareil:
/** 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
}
L'exemple de code ci-dessus va accéder à la première, arrière face à la caméra sur un appareil avec plus d'un appareil photo. Ici vous pouvez trouver une description détaillée.