Связь с устройством 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 здесь!

Другие вопросы по тегам