Partilhar via


MediaProjectionManager.GetMediaProjection(Int32, Intent) Método

Definição

Recupera o MediaProjection obtido de uma solicitação de captura de tela bem-sucedida.

[Android.Runtime.Register("getMediaProjection", "(ILandroid/content/Intent;)Landroid/media/projection/MediaProjection;", "")]
public Android.Media.Projection.MediaProjection? GetMediaProjection(int resultCode, Android.Content.Intent resultData);
[<Android.Runtime.Register("getMediaProjection", "(ILandroid/content/Intent;)Landroid/media/projection/MediaProjection;", "")>]
member this.GetMediaProjection : int * Android.Content.Intent -> Android.Media.Projection.MediaProjection

Parâmetros

resultCode
Int32

O código de resultado do Activity#onActivityResult(int, int, Intent) onActivityResult(int, int, Intent).

resultData
Intent

Os dados de resultado do Activity#onActivityResult(int, int, Intent) onActivityResult(int, int, Intent).

Retornos

A projeção de mídia obtida de uma solicitação de captura de tela bem-sucedida ou nula se o resultado da solicitação de captura de tela não Activity#RESULT_OK RESULT_OKfor .

Atributos

Comentários

Recupera o MediaProjection obtido de uma solicitação de captura de tela bem-sucedida. O código de resultado e os dados da solicitação são fornecidos pela substituição Activity#onActivityResult(int, int, Intent) onActivityResult(int, int, Intent)de , que é chamada após iniciar uma atividade usando #createScreenCaptureIntent()o .

A partir do Android android.os.Build.VERSION_CODES#R R, se o seu aplicativo solicitar a android.Manifest.permission#SYSTEM_ALERT_WINDOW SYSTEM_ALERT_WINDOW permissão, e o usuário não a tiver negado explicitamente, a permissão será concedida automaticamente até que a projeção seja interrompida. A permissão permite que seu aplicativo exiba controles de usuário na parte superior da tela que está sendo capturada.

Um aplicativo direcionado à versão android.os.Build.VERSION_CODES#Q Q do SDK ou posterior deve invocar getMediaProjection e manter a sessão de captura (MediaProjection#createVirtualDisplay(String, int, int, int, int, Surface, android.hardware.display.VirtualDisplay.Callback, Handler) MediaProjection#createVirtualDisplay) durante a execução de um serviço em primeiro plano. O aplicativo deve definir o android.R.attr#foregroundServiceType foregroundServiceType atributo para android.content.pm.ServiceInfo#FOREGROUND_SERVICE_TYPE_MEDIA_PROJECTION FOREGROUND_SERVICE_TYPE_MEDIA_PROJECTION no <c>& Tenente; serviço& Gt;</c> do arquivo de manifesto do aplicativo.

Para uma versão android.os.Build.VERSION_CODES#UPSIDE_DOWN_CAKE U do SDK de direcionamento de aplicativo ou posterior, o usuário deve ter concedido ao aplicativo a permissão para iniciar uma projeção, antes que o aplicativo inicie um serviço de primeiro plano com o tipo android.content.pm.ServiceInfo#FOREGROUND_SERVICE_TYPE_MEDIA_PROJECTION. Além disso, o aplicativo deve ter iniciado o serviço de primeiro plano com esse tipo antes de chamar essa API aqui, ou então ele receberá uma SecurityException chamada dessa API, a menos que seja um aplicativo privilegiado. Os aplicativos podem solicitar a permissão por meio do #createScreenCaptureIntent() e Activity#startActivityForResult(Intent, int) (ou APIs semelhantes).

Documentação Java para android.media.projection.MediaProjectionManager.getMediaProjection(int, android.content.Intent).

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.

Aplica-se a