Share via


MediaProjectionManager.GetMediaProjection(Int32, Intent) Methode

Definition

Ruft das MediaProjection aus einer erfolgreichen Bildschirmaufnahmeanforderung abgerufene ab.

[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

Parameter

resultCode
Int32

Der Ergebniscode von Activity#onActivityResult(int, int, Intent) onActivityResult(int, int, Intent).

resultData
Intent

Die Ergebnisdaten von Activity#onActivityResult(int, int, Intent) onActivityResult(int, int, Intent).

Gibt zurück

Die Medienprojektion, die aus einer erfolgreichen Bildschirmaufnahmeanforderung abgerufen wurde, oder NULL, wenn das Ergebnis der Bildschirmaufnahmeanforderung nicht Activity#RESULT_OK RESULT_OKist.

Attribute

Hinweise

Ruft das MediaProjection aus einer erfolgreichen Bildschirmaufnahmeanforderung abgerufene ab. Der Ergebniscode und die Daten aus der Anforderung werden durch Überschreiben Activity#onActivityResult(int, int, Intent) onActivityResult(int, int, Intent)bereitgestellt, das aufgerufen wird, nachdem eine Aktivität mit #createScreenCaptureIntent()gestartet wurde.

Ab Android android.os.Build.VERSION_CODES#R Rwird die Berechtigung automatisch gewährt, bis die Projektion beendet wird, wenn Ihre Anwendung die android.Manifest.permission#SYSTEM_ALERT_WINDOW SYSTEM_ALERT_WINDOW Berechtigung anfordert und der Benutzer sie nicht explizit verweigert hat. Mit der Berechtigung kann Ihre App Benutzersteuerelemente oben auf dem erfassten Bildschirm anzeigen.

Eine App, die für eine SDK-Version android.os.Build.VERSION_CODES#Q Q oder höher ausgerichtet ist, muss die Erfassungssitzung (MediaProjection#createVirtualDisplay(String, int, int, int, int, Surface, android.hardware.display.VirtualDisplay.Callback, Handler) MediaProjection#createVirtualDisplay) aufrufen getMediaProjection und beibehalten, während ein Vordergrunddienst ausgeführt wird. Die App muss das android.R.attr#foregroundServiceType foregroundServiceType Attribut auf android.content.pm.ServiceInfo#FOREGROUND_SERVICE_TYPE_MEDIA_PROJECTION FOREGROUND_SERVICE_TYPE_MEDIA_PROJECTION in der <c> -& Lt; dienst& Gt;</c-Element> der Manifestdatei der App.

Für eine App, die für eine SDK-Version android.os.Build.VERSION_CODES#UPSIDE_DOWN_CAKE U oder höher ausgerichtet ist, muss der Benutzer der App die Berechtigung zum Starten einer Projektion erteilt haben, bevor die App einen Vordergrunddienst mit dem Typ android.content.pm.ServiceInfo#FOREGROUND_SERVICE_TYPE_MEDIA_PROJECTIONstartet. Darüber hinaus muss die App den Vordergrunddienst mit diesem Typ gestartet haben, bevor sie diese API hier aufruft, andernfalls erhält sie einen SecurityException von diesem API-Aufruf, es sei denn, es handelt sich um eine privilegierte App. Apps können die Berechtigung über die #createScreenCaptureIntent() und Activity#startActivityForResult(Intent, int) (oder ähnliche APIs) anfordern.

Java-Dokumentation für android.media.projection.MediaProjectionManager.getMediaProjection(int, android.content.Intent).

Teile dieser Seite sind Änderungen, die auf Arbeiten basieren, die vom Android Open Source Project erstellt und freigegeben wurden und gemäß den In der Attribution License beschriebenen Begriffen verwendet werden.

Gilt für: