我有这些代码(用C#编写)来截取屏幕截图,但它仅占用应用程序屏幕,即使我最小化了我的应用程序,它仍然捕获了我的应用程序屏幕。我想带走整个设备的屏幕,即使我打开另一个应用程序,它也会显示其他应用程序,桌面等的屏幕截图...
在C#Xamarin中
var view = UIApplication.SharedApplication.KeyWindow.RootViewController.View;
UIGraphics.BeginImageContext(view.Frame.Size);
view.DrawViewHierarchy(view.Frame, true);
var image = UIGraphics.GetImageFromCurrentImageContext();
UIGraphics.EndImageContext();
using (var imageData = image.AsPNG())
{
var bytes = new byte[imageData.Length];
System.Runtime.InteropServices.Marshal.Copy(imageData.Bytes, bytes, 0, Convert.ToInt32(imageData.Length));
return bytes;
}
您也可以在Swift / Objective-C中发布建议。
不幸的是,这是不可能的。出于安全原因,iOS不允许应用程序截取自己的视图层次结构以外的任何内容的屏幕截图。