<uses-feature>
- объявляет одну аппаратную или программную функцию, которая используется приложением.
Цель декларации - сообщить любому внешнему объекту о наборе аппаратных и программных функций, на которых работает ваше приложениезависит.Элемент предлагает обязательный атрибут, который позволяет вам указать, требуется ли ваше приложение и не может ли оно функционировать без объявленной функции, или же оно предпочитает иметь эту функцию, но может работать без нее.Поскольку поддержка функций может отличаться на разных устройствах Android, этот элемент играет важную роль, позволяя приложению описывать переменные устройства, которые оно использует. читать больше
Ниже приведен пример кода для доступа Device Front Camera
public Camera openFrontFacingCamera() {
int cameraCount = 0;
Camera ffCam = null;
Camera.CameraInfo cameraInfo = new Camera.CameraInfo();
// Find the total number of cameras available
cameraCount = Camera.getNumberOfCameras();
// Find the ID of the CAMERA_FACING_FRONT & open it
for (int camIdx = 0; camIdx < cameraCount; camIdx++) {
Camera.getCameraInfo(camIdx, cameraInfo);
if (cameraInfo.facing == Camera.CameraInfo.CAMERA_FACING_FRONT) {
try {
ffCam = Camera.open(camIdx);
} catch (RuntimeException e) {
Log.e(TAG, "Camera failed to open: " + e.getLocalizedMessage());
}
}
}
return ffCam;
}
Требуются следующие разрешения
<uses-permission android:name="android.permission.CAMERA" />
<uses-feature android:name="android.hardware.camera" android:required="false" />
<uses-feature android:name="android.hardware.camera.front" android:required="false" />
Подробнее читайте Google android developer API doc
Камера , Camera.CameraInfo