Поделиться через


MediaProjectionManager.GetMediaProjection(Int32, Intent) Метод

Определение

Извлекает MediaProjection полученный из успешного запроса записи экрана.

[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

Параметры

resultCode
Int32

Результирующий код из Activity#onActivityResult(int, int, Intent) onActivityResult(int, int, Intent).

resultData
Intent

Результат данных из Activity#onActivityResult(int, int, Intent) onActivityResult(int, int, Intent).

Возвращаемое значение

Проекция мультимедиа, полученная из успешного запроса на захват экрана, или значение NULL, если результат запроса на захват экрана не Activity#RESULT_OK RESULT_OKявляется.

Атрибуты

Комментарии

Извлекает MediaProjection полученный из успешного запроса записи экрана. Код результата и данные из запроса предоставляются путем переопределения Activity#onActivityResult(int, int, Intent) onActivityResult(int, int, Intent), который вызывается после запуска действия с помощью #createScreenCaptureIntent().

Начиная с Android android.os.Build.VERSION_CODES#R R, если приложение запрашивает android.Manifest.permission#SYSTEM_ALERT_WINDOW SYSTEM_ALERT_WINDOW разрешение, и пользователь не явно отрицал его, разрешение будет автоматически предоставлено до тех пор, пока проекция не будет остановлена. Разрешение позволяет приложению отображать пользовательские элементы управления на вершине захваченного экрана.

Приложение, нацеливающееся на версию пакета SDK или более позднюю версию android.os.Build.VERSION_CODES#Q Q , должно вызывать getMediaProjection и поддерживать сеанс записи (MediaProjection#createVirtualDisplay(String, int, int, int, int, Surface, android.hardware.display.VirtualDisplay.Callback, Handler) MediaProjection#createVirtualDisplay) при запуске службы переднего плана. Приложение должно задать android.R.attr#foregroundServiceType foregroundServiceType атрибут android.content.pm.ServiceInfo#FOREGROUND_SERVICE_TYPE_MEDIA_PROJECTION FOREGROUND_SERVICE_TYPE_MEDIA_PROJECTION в <c>& lt; & gt;<Элемент /c> файла манифеста приложения.

Для приложения, предназначенного для версии android.os.Build.VERSION_CODES#UPSIDE_DOWN_CAKE U пакета SDK или более поздней версии, пользователь должен предоставить приложению разрешение на запуск проекции, прежде чем приложение запустит службу переднего плана с типом android.content.pm.ServiceInfo#FOREGROUND_SERVICE_TYPE_MEDIA_PROJECTION. Кроме того, приложение должно запустить службу переднего плана с этим типом, прежде чем вызывать этот API здесь, или в противном случае он получит SecurityException от этого вызова API, если только это привилегированное приложение. Приложения могут запрашивать разрешение через #createScreenCaptureIntent() и Activity#startActivityForResult(Intent, int) (или аналогичные API).

Документация по Java для android.media.projection.MediaProjectionManager.getMediaProjection(int, android.content.Intent).

Части этой страницы — это изменения на основе работы, созданной и общей проектом с открытым исходным кодом Android и используемой в соответствии с условиями, описанными в лицензии Creative Commons 2.5 Attribution.

Применяется к