小编use*_*995的帖子

无法使用原生代码在 V2 Flutter 中截取屏幕截图,它在 V1 Flutter 中运行良好

我们正在构建一个 SDK,一旦它被集成,它就会截取应用程序的屏幕截图。我们能够为原生 Android、原生 iOS、Cordova、IONIC、React Native、Xamarin 平台截取屏幕截图。但是无法在 V2 Flutter 中拍摄快照。在 V1 Flutter 之前,代码运行良好。但是当在 V2 Flutter 上执行相同的本机代码时,返回应用程序的黑色屏幕截图。

这里的问题是,V1 的 FlutterView 使用称为 registrar.view() 的方法对第三方插件公开可用,在 V2 中,此视图现在不公开给任何插件! https://api.flutter.dev/javadoc/io/flutter/plugin/common/PluginRegistry.Registrar.html使用 V1 的 FlutterView 我们能够使用 PixelCopy 捕获视图的屏幕截图,我们无法获得V2 的 FlutterView,我们也没有找到任何解决方案来捕获它。

我们尝试了以下方法,但没有成功。有人可以帮我吗?

  1. 试图从我们在 SDK 初始化中传递的上下文中获取活动,我们从活动中获取视图并尝试绘制它,捕获了空白屏幕截图
  2. 尝试使用https://flutter.dev/docs/development/packages-and-plugins/plugin-api-migration将 SDK Flutter 插件迁移到 V2
  3. 尝试遍历视图层次结构并使用 Activity 上下文绘制视图,捕获空白屏幕截图
  4. 尝试绘制从 FlutterActivity.getWindow().getDecorView().getRootView() 接收到的视图,捕获的空白屏幕截图。

sdk android screenshot ios flutter

9
推荐指数
1
解决办法
301
查看次数

标签 统计

android ×1

flutter ×1

ios ×1

screenshot ×1

sdk ×1