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).
Части этой страницы — это изменения на основе работы, созданной и общей проектом с открытым исходным кодом Android и используемой в соответствии с условиями, описанными в лицензии Creative Commons 2.5 Attribution.