Связь с устройством USB, подключенным к телефону Android (например, с внешней камерой)
Я хотел бы знать, есть ли какой-то API в Android Studio, который обеспечивает связь между устройством и телефоном Android через USB. Например, внешняя камера.
Я использовал SetupAPI и WINUSB прежде, чтобы выполнить такую задачу. Так что что-то похожее на эти два будет оценено.
Компания, которая создала устройство, не предоставляет SDK, драйвер или любую дополнительную информацию.
Большое спасибо.
1 ответ
Это зависит от того, что вы хотите сделать, но короткий ответ - да. Для обнаружения внешней камеры вы можете попробовать это:
public String getExternalCamera(){
CameraManager cameraManager = (CameraManager) getSystemService(CAMERA_SERVICE);
String exCamId = null;
for (String cameraId : cameraManager.getCameraIdList()) {
CameraCharacteristics characteristics = cameraManager.getCameraCharacteristics(cameraId);
Integer facing = characteristics.get(CameraCharacteristics.LENS_FACING);
//LENS_FACING_EXTERNAL will return Value: 2
if (facing != null && facing.equals(CameraCharacteristics.LENS_FACING_EXTERNAL)) {
exCamId = cameraId;
}
}
return exCamId;
}
LENS_FACING_EXTERNAL
добавлен в API уровень 23
public static final int LENS_FACING_EXTERNAL Устройство камеры представляет собой внешнюю камеру и не имеет фиксированной ориентации относительно экрана устройства.
Вы также можете использовать:
INFO_SUPPORTED_HARDWARE_LEVEL_EXTERNAL
добавлен в API уровень 28
public static final int INFO_SUPPORTED_HARDWARE_LEVEL_EXTERNAL
Это устройство камеры поддерживается внешней камерой, подключенной к этому устройству Android.
Устройство имеет возможности, идентичные устройству уровня LIMITED, за некоторыми исключениями.
Для получения дополнительной информации см. Документацию по Android здесь!