MediaProjectionManager.GetMediaProjection(Int32, Intent) 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.
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_OK
for .
- 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).
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.