【问题标题】:Android - programmatically take a screenshot without having reference to the view / activityAndroid - 在不参考视图/活动的情况下以编程方式截取屏幕截图
【发布时间】:2014-05-18 07:51:58
【问题描述】:

有许多使用对当前活动的引用来截取屏幕截图的示例。但是,就我而言,我需要截取来自外部 SDK(但仍在我的应用程序中)的活动的屏幕截图。由于显而易见的原因,我的代码中没有对该活动对象的引用。我看到了使用 InstrumentationUiDevice 的解决方案,但它们似乎只在使用 TestCase 框架实现测试应用程序时才有效,而我需要它在普通应用程序中工作。

还有其他方法吗?

【问题讨论】:

    标签: android sdk android-activity screenshot external


    【解决方案1】:

    好吧,如果有人觉得这个问题有用,我找到的答案如下: 在您的活动或服务中,调用 getApplication().registerActivityLifecycleCallbacks(),向其传递一个实现 Application.ActivityLifecycleCallbacks 接口的对象。该对象将在每个活动的 onCreate/onStart 等上获得一个回调,并引用 Activity 对象,您可以从中获取视图并截取屏幕截图。您可以通过包名识别它是来自外部 SDK 的 Activity。

    注意:Application.ActivityLifecycleCallbacks 仅在 API 级别 14(又名 ICS)之后可用。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-11-15
      相关资源
      最近更新 更多