Compartir a través de


MediaProjectionManager.GetMediaProjection(Int32, Intent) Método

Definición

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_OKes .

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).

Documentación de Java para android.media.projection.MediaProjectionManager.getMediaProjection(int, android.content.Intent).

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.

Se aplica a