MediaProjectionManager.GetMediaProjection(Int32, Intent) Método
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Recupera el MediaProjection
obtenido de una solicitud de captura de pantalla correcta.
[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
Código de resultado de Activity#onActivityResult(int, int, Intent)
onActivityResult(int, int, Intent)
.
- resultData
- Intent
Datos de resultado de Activity#onActivityResult(int, int, Intent)
onActivityResult(int, int, Intent)
.
Devoluciones
La proyección multimedia obtenida de una solicitud de captura de pantalla correcta o null si el resultado de la solicitud de captura de pantalla no Activity#RESULT_OK RESULT_OK
es .
- Atributos
Comentarios
Recupera el MediaProjection
obtenido de una solicitud de captura de pantalla correcta. El código de resultado y los datos de la solicitud se proporcionan reemplazando Activity#onActivityResult(int, int, Intent) onActivityResult(int, int, Intent)
, al que se llama después de iniciar una actividad mediante #createScreenCaptureIntent()
.
A partir de Android android.os.Build.VERSION_CODES#R R
, si la aplicación solicita el android.Manifest.permission#SYSTEM_ALERT_WINDOW SYSTEM_ALERT_WINDOW
permiso y el usuario no la ha denegado explícitamente, el permiso se concederá automáticamente hasta que se detenga la proyección. El permiso permite a la aplicación mostrar controles de usuario sobre la pantalla que se captura.
Una aplicación destinada a la versión android.os.Build.VERSION_CODES#Q Q
del SDK o posterior debe invocar getMediaProjection
y mantener la sesión de captura (MediaProjection#createVirtualDisplay(String, int, int, int, int, Surface, android.hardware.display.VirtualDisplay.Callback, Handler) MediaProjection#createVirtualDisplay
) mientras se ejecuta un servicio en primer plano. La aplicación debe establecer el android.R.attr#foregroundServiceType foregroundServiceType
atributo android.content.pm.ServiceInfo#FOREGROUND_SERVICE_TYPE_MEDIA_PROJECTION FOREGROUND_SERVICE_TYPE_MEDIA_PROJECTION
en en el <c>& Lt; servicio y Gt;<Elemento /c> del archivo de manifiesto de la aplicación.
Para una versión android.os.Build.VERSION_CODES#UPSIDE_DOWN_CAKE U
del SDK de destino de una aplicación o posterior, el usuario debe haber concedido permiso a la aplicación para iniciar una proyección, antes de que la aplicación inicie un servicio en primer plano con el tipo android.content.pm.ServiceInfo#FOREGROUND_SERVICE_TYPE_MEDIA_PROJECTION
. Además, la aplicación debe haber iniciado el servicio en primer plano con ese tipo antes de llamar a esta API aquí o, de lo contrario, recibirá una SecurityException
de esta llamada API, a menos que sea una aplicación con privilegios. Las aplicaciones pueden solicitar el permiso a través de las #createScreenCaptureIntent()
API y Activity#startActivityForResult(Intent, int)
(o similares).
Las partes de esta página son modificaciones basadas en el trabajo creado y compartido por el proyecto de código abierto de Android y se usan según los términos descritos en la licencia de atribución de Creative Commons 2.5.