iOS在当前设备显示屏幕截图而不是应用程序屏幕

问题描述 投票:0回答:1

我有这些代码(用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中发布建议。

c# ios swift xamarin.ios
1个回答
0
投票

不幸的是,这是不可能的。出于安全原因,iOS不允许应用程序截取自己的视图层次结构以外的任何内容的屏幕截图。

© www.soinside.com 2019 - 2024. All rights reserved.