Condividi tramite


CameraManager.AvailabilityCallback.OnPhysicalCameraAvailable Metodo

Definizione

Una fotocamera fisica è diventata nuovamente disponibile per l'uso.

[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

Parametri

cameraId
String

Identificatore univoco della fotocamera logica.

physicalCameraId
String

Identificatore univoco della fotocamera fisica.

Attributi

Commenti

Una fotocamera fisica è diventata nuovamente disponibile per l'uso.

Per impostazione predefinita, tutte le fotocamere fisiche di una multi-fotocamera logica sono disponibili, quindi #onPhysicalCameraAvailable non viene chiamato per nessuna delle fotocamere fisiche di una fotocamera logica multi-fotocamera, quando #onCameraAvailable viene richiamata per la multi-fotocamera logica. Tuttavia, se alcune fotocamere fisiche specifiche non sono disponibili per iniziare, #onPhysicalCameraUnavailable può essere richiamato dopo #onCameraAvailable.

Se android.content.pm.ApplicationInfo#targetSdkVersion targetSdkVersion < , l'apertura android.os.Build.VERSION_CODES#UPSIDE_DOWN_CAKEdi una fotocamera logica disabilita i #onPhysicalCameraAvailable callback e #onPhysicalCameraUnavailable per le fotocamere fisiche. Ad esempio, se l'app A apre il dispositivo fotocamera:

<ul>

<li>Tutte le app che sottoscrivono a ActivityCallback ottengono #onCameraUnavailable.</li>

<li>Nessuna app (inclusa l'app A) che sottoscrive ActivityCallback ottiene #onPhysicalCameraAvailable o #onPhysicalCameraUnavailable, perché la fotocamera logica non è disponibile (alcune app lo usano).</li>

</ul>

If android.content.pm.ApplicationInfo#targetSdkVersion targetSdkVersionandroid.os.Build.VERSION_CODES#UPSIDE_DOWN_CAKE:

<ul>

<li>Una modifica dello stato della fotocamera fisica viene attivata #onPhysicalCameraAvailable o #onPhysicalCameraUnavailable anche dopo che la fotocamera logica non è più disponibile. Una #onCameraUnavailable chiamata per una fotocamera logica non reimposta lo stato di disponibilità delle fotocamere fisiche. Ciò consente a un'applicazione di aprire il dispositivo della fotocamera logica di sapere quale fotocamera fisica diventa non disponibile o disponibile per l'uso.</li>

<li>Simile a android.os.Build.VERSION_CODES#TIRAMISU Android 13 e versioni precedenti, il callback della #onCameraAvailable fotocamera logica implica che tutto lo stato delle telecamere fisiche diventa disponibile. #onPhysicalCameraUnavailable verrà chiamato per eventuali fotocamere fisiche non disponibili al momento della disponibilità della fotocamera logica.</li>

</ul>

Data la natura della pipeline dell'acquisizione della fotocamera tramite android.hardware.camera2.CaptureRequest, potrebbero esserci cadute di fotogrammi se l'applicazione richiede immagini da una fotocamera fisica di una fotocamera logica multi-fotocamera e tale fotocamera fisica non è più disponibile. L'applicazione deve interrompere la richiesta direttamente da una fotocamera fisica non disponibile non appena viene #onPhysicalCameraUnavailable ricevuta e può anche essere pronta per gestire in modo affidabile gli errori di rilascio dei fotogrammi per le richieste destinate alle fotocamere fisiche, poiché tali errori possono arrivare prima del callback di indisponibilità.

L'implementazione predefinita di questo metodo non esegue alcuna operazione.

Documentazione java per android.hardware.camera2.CameraManager.AvailabilityCallback.onPhysicalCameraAvailable(java.lang.String, java.lang.String).

Le parti di questa pagina sono modifiche basate sul lavoro creato e condiviso dal progetto Open Source Android e usato in base ai termini descritti nella licenza Creative Commons 2.5 Attribuzione.

Si applica a