MediaProjectionManager.GetMediaProjection(Int32, Intent) 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
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)
返回
从成功的屏幕捕获请求获取的媒体投影;如果屏幕捕获请求的结果不是 Activity#RESULT_OK RESULT_OK
,则为 null。
- 属性
注解
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
)。 应用必须在 c>& 中<将属性设置为android.R.attr#foregroundServiceType foregroundServiceType
android.content.pm.ServiceInfo#FOREGROUND_SERVICE_TYPE_MEDIA_PROJECTION FOREGROUND_SERVICE_TYPE_MEDIA_PROJECTION
lt;service&燃气轮机;<应用清单文件的 /c> 元素。
对于面向 SDK 版本 android.os.Build.VERSION_CODES#UPSIDE_DOWN_CAKE U
或更高版本的应用,用户必须先向应用授予启动投影的权限,然后应用才能使用类型 android.content.pm.ServiceInfo#FOREGROUND_SERVICE_TYPE_MEDIA_PROJECTION
启动前台服务。 此外,应用必须已使用该类型启动前台服务,然后再在此处调用此 API,否则它将从此 API 调用接收, SecurityException
除非它是特权应用。 应用可以通过和Activity#startActivityForResult(Intent, int)
(或类似 API)请求权限#createScreenCaptureIntent()
。
本页的某些部分是根据 Android 开放源代码项目创建和共享的工作进行的修改,并根据 Creative Commons 2.5 属性许可证中所述的术语使用。