CameraManager.AvailabilityCallback.OnPhysicalCameraAvailable Método
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Uma câmera física ficou disponível para uso novamente.
[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
Parâmetros
- cameraId
- String
O identificador exclusivo da multicâmera lógica.
- physicalCameraId
- String
O identificador exclusivo da câmera física.
- Atributos
Comentários
Uma câmera física ficou disponível para uso novamente.
Por padrão, todas as câmeras físicas de uma multicâmera lógica estão disponíveis, portanto #onPhysicalCameraAvailable
, não é chamada para nenhuma das câmeras físicas de uma multicâmera lógica, quando #onCameraAvailable
para a multicâmera lógica é invocada. No entanto, se algumas câmeras físicas específicas não estiverem disponíveis para começar, #onPhysicalCameraUnavailable
podem ser invocadas após #onCameraAvailable
.
Se android.content.pm.ApplicationInfo#targetSdkVersion targetSdkVersion
< android.os.Build.VERSION_CODES#UPSIDE_DOWN_CAKE
, abrir uma câmera lógica desabilita os #onPhysicalCameraAvailable
retornos de chamada e #onPhysicalCameraUnavailable
para suas câmeras físicas. Por exemplo, se o aplicativo A abrir o dispositivo da câmera:
<ul>
<li>Todos os aplicativos que assinam o ActivityCallback obtêm #onCameraUnavailable
.</li>
<li>Nenhum aplicativo (incluindo o aplicativo A) que assina o ActivityCallback recebe #onPhysicalCameraAvailable
ou #onPhysicalCameraUnavailable
, porque a câmera lógica não está disponível (algum aplicativo está usando-o).</li>
</ul>
Se android.content.pm.ApplicationInfo#targetSdkVersion targetSdkVersion
≥ android.os.Build.VERSION_CODES#UPSIDE_DOWN_CAKE
:
<ul>
<li>Uma alteração de status da câmera física será acionada #onPhysicalCameraAvailable
ou #onPhysicalCameraUnavailable
mesmo depois que a câmera lógica ficar indisponível. Uma #onCameraUnavailable
chamada para uma câmera lógica não redefine o status de disponibilidade das câmeras físicas. Isso possibilita que um aplicativo que abre o dispositivo de câmera lógica saiba qual câmera física se torna indisponível ou disponível para uso.</li>
<Semelhante>e android.os.Build.VERSION_CODES#TIRAMISU Android 13
anterior, o retorno de chamada da #onCameraAvailable
câmera lógica implica que o status de todas as suas câmeras físicas fique disponível. #onPhysicalCameraUnavailable
será chamada para quaisquer câmeras físicas indisponíveis quando a câmera lógica estiver disponível.</li>
</ul>
Dada a natureza de pipeline da captura da câmera através android.hardware.camera2.CaptureRequest
do , pode haver quedas de quadros se o aplicativo solicitar imagens de uma câmera física de uma multicâmera lógica e essa câmera física ficar indisponível. O aplicativo deve parar de solicitar diretamente de uma câmera física indisponível assim que #onPhysicalCameraUnavailable
for recebido, e também estar pronto para lidar com erros de queda de quadro para solicitações direcionadas a câmeras físicas, uma vez que esses erros podem chegar antes do retorno de chamada de indisponibilidade.
A implementação padrão desse método não faz nada.
Partes desta página são modificações baseadas no trabalho criado e compartilhado pelo Android Open Source Project e usado de acordo com os termos descritos na Creative Commons 2.5 Attribution License.