Я хочу сделать снимок экрана карты Google в моем проекте xamarin PCL.Карта отображается отлично.Но когда я пытаюсь сделать снимок экрана, он отображает черный экран части карты Google.
Но когда я пытаюсь сделать снимок кода, отображается снимок экранакак ниже.
public interface IScreenshotService
{
Task<byte[]> Capture();
}
public class ScreenshotService : IScreenshotService
{
public static Activity Activity { get; set; }
//public void SetActivity(Activity activity) => _currentActivity = activity
public async System.Threading.Tasks.Task<byte[]> Capture()
{
if (Activity == null)
{
throw new Exception("You have to set ScreenshotManager.Activity in your Android project");
}
var view = Activity.Window.DecorView;
view.DrawingCacheEnabled = true;
Bitmap bitmap = view.GetDrawingCache(true);
byte[] bitmapData;
using (var stream = new MemoryStream())
{
bitmap.Compress(Bitmap.CompressFormat.Png, 0, stream);
bitmapData = stream.ToArray();
}
return bitmapData;
}
}
Код для вызова функции
byte[] screenshotData = await DependencyService.Get<IScreenshotService>().Capture();
Можете ли вы помочь мне выяснить проблему?