CameraManager.AvailabilityCallback.OnPhysicalCameraAvailable Метод
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Физическая камера стала доступной для использования еще раз.
[Android.Runtime.Register("onPhysicalCameraAvailable", "(Ljava/lang/String;Ljava/lang/String;)V", "GetOnPhysicalCameraAvailable_Ljava_lang_String_Ljava_lang_String_Handler", ApiSince=30)]
public virtual void OnPhysicalCameraAvailable (string cameraId, string physicalCameraId);
[<Android.Runtime.Register("onPhysicalCameraAvailable", "(Ljava/lang/String;Ljava/lang/String;)V", "GetOnPhysicalCameraAvailable_Ljava_lang_String_Ljava_lang_String_Handler", ApiSince=30)>]
abstract member OnPhysicalCameraAvailable : string * string -> unit
override this.OnPhysicalCameraAvailable : string * string -> unit
Параметры
- cameraId
- String
Уникальный идентификатор логической многокамерной камеры.
- physicalCameraId
- String
Уникальный идентификатор физической камеры.
- Атрибуты
Комментарии
Физическая камера стала доступной для использования еще раз.
По умолчанию все физические камеры логической многокамерной камеры доступны, поэтому #onPhysicalCameraAvailable
не вызывается для любой физической камеры логической многокамерной камеры, когда #onCameraAvailable
вызывается логическая многокамерная камера. Однако, если некоторые физические камеры недоступны для начала, #onPhysicalCameraUnavailable
может вызываться после #onCameraAvailable
.
Если android.content.pm.ApplicationInfo#targetSdkVersion targetSdkVersion
< android.os.Build.VERSION_CODES#UPSIDE_DOWN_CAKE
открытие логической камеры отключает #onPhysicalCameraAvailable
и #onPhysicalCameraUnavailable
обратные вызовы для своих физических камер. Например, если приложение A открывает устройство камеры:
<ul>
<li>Все приложения подписываться на ActivityCallback get #onCameraUnavailable
.</Литий>
<li>Нет приложения (включая приложение A) подписку на ActivityCallback получает #onPhysicalCameraAvailable
или #onPhysicalCameraUnavailable
, так как логическая камера недоступна (некоторые приложения используют его).</Литий>
</ul>
Если android.content.pm.ApplicationInfo#targetSdkVersion targetSdkVersion
≥ android.os.Build.VERSION_CODES#UPSIDE_DOWN_CAKE
:
<ul>
<li>Изменение состояния физической камеры активируется #onPhysicalCameraAvailable
или #onPhysicalCameraUnavailable
даже после того, как логическая камера становится недоступной. Вызов #onCameraUnavailable
логической камеры не сбрасывает состояние доступности физических камер. Это позволяет приложению открывать устройство логической камеры, чтобы узнать, какая физическая камера становится недоступной или доступной для использования.</Литий>
<li>Как android.os.Build.VERSION_CODES#TIRAMISU Android 13
и раньше, обратный вызов логической камеры #onCameraAvailable
подразумевает, что все его физические камеры становятся доступными. #onPhysicalCameraUnavailable
будет вызываться для любых недоступных физических камер после того, как логическая камера становится доступной.</Литий>
</ul>
Учитывая природу конвейера захвата android.hardware.camera2.CaptureRequest
камеры, может возникать падение кадров, если приложение запрашивает изображения из физической камеры логической многокамерной камеры и что физическая камера становится недоступной. Приложение должно перестать запрашивать непосредственно из недоступной физической камеры сразу после #onPhysicalCameraUnavailable
получения, а также быть готовым к надежной обработке ошибок удаления кадров для запросов, предназначенных для физических камер, так как эти ошибки могут поступать до недоступности обратного вызова.
Реализация этого метода по умолчанию ничего не делает.
Части этой страницы — это изменения на основе работы, созданной и общей проектом с открытым исходным кодом Android и используемой в соответствии с условиями, описанными в лицензии Creative Commons 2.5 Attribution.