Condividi tramite


MediaProjectionManager.GetMediaProjection(Int32, Intent) Metodo

Definizione

Recupera l'oggetto MediaProjection ottenuto da una richiesta di acquisizione dello schermo riuscita.

[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

Parametri

resultCode
Int32

Codice del risultato da Activity#onActivityResult(int, int, Intent) onActivityResult(int, int, Intent).

resultData
Intent

Dati del risultato da Activity#onActivityResult(int, int, Intent) onActivityResult(int, int, Intent).

Restituisce

La proiezione multimediale ottenuta da una richiesta di acquisizione dello schermo riuscita o null se il risultato della richiesta di acquisizione dello schermo non Activity#RESULT_OK RESULT_OKè .

Attributi

Commenti

Recupera l'oggetto MediaProjection ottenuto da una richiesta di acquisizione dello schermo riuscita. Il codice di risultato e i dati della richiesta vengono forniti eseguendo l'override di Activity#onActivityResult(int, int, Intent) onActivityResult(int, int, Intent), che viene chiamato dopo l'avvio di un'attività tramite #createScreenCaptureIntent().

A partire da Android android.os.Build.VERSION_CODES#R R, se l'applicazione richiede l'autorizzazione android.Manifest.permission#SYSTEM_ALERT_WINDOW SYSTEM_ALERT_WINDOW e l'utente non l'ha negata in modo esplicito, l'autorizzazione verrà concessa automaticamente fino all'arresto della proiezione. L'autorizzazione consente all'app di visualizzare i controlli utente nella parte superiore della schermata acquisita.

Un'app destinata alla versione android.os.Build.VERSION_CODES#Q Q dell'SDK o successiva deve richiamare getMediaProjection e gestire la sessione di acquisizione (MediaProjection#createVirtualDisplay(String, int, int, int, int, Surface, android.hardware.display.VirtualDisplay.Callback, Handler) MediaProjection#createVirtualDisplay) durante l'esecuzione di un servizio in primo piano. L'app deve impostare l'attributo android.R.attr#foregroundServiceType foregroundServiceType su android.content.pm.ServiceInfo#FOREGROUND_SERVICE_TYPE_MEDIA_PROJECTION FOREGROUND_SERVICE_TYPE_MEDIA_PROJECTION in <c>& Lt; service& Gt;<Elemento /c> del file manifesto dell'app.

Per un'app destinata alla versione android.os.Build.VERSION_CODES#UPSIDE_DOWN_CAKE U dell'SDK o successiva, l'utente deve aver concesso all'app l'autorizzazione per avviare una proiezione, prima che l'app avvii un servizio in primo piano con il tipo android.content.pm.ServiceInfo#FOREGROUND_SERVICE_TYPE_MEDIA_PROJECTION. Inoltre, l'app deve aver avviato il servizio in primo piano con quel tipo prima di chiamare questa API qui oppure riceverà una da SecurityException questa chiamata API, a meno che non si tratti di un'app con privilegi. Le app possono richiedere l'autorizzazione tramite #createScreenCaptureIntent() e Activity#startActivityForResult(Intent, int) (o API simili).

Documentazione java per android.media.projection.MediaProjectionManager.getMediaProjection(int, android.content.Intent).

Le parti di questa pagina sono modifiche basate sul lavoro creato e condiviso dal progetto Open Source Android e usato in base ai termini descritti nella licenza Creative Commons 2.5 Attribuzione.

Si applica a