【问题标题】:android taking screenshots programmaticaly Android Screenshot Library issueandroid 以编程方式截取屏幕截图 Android Screenshot Library 问题
【发布时间】:2014-07-16 20:32:50
【问题描述】:

我想要实现的是捕获当前的前台活动并保存到位图文件。我需要在后台服务中处理截图。我经历了很多想法,教程主要使用调用getWindow()方法和启用缓存。然而,这种方法对我来说毫无用处 - 不可能获得对前台运行活动的引用(不是吗?) - 使用 ActivityManager 我只能得到它的名称和包。

我遇到了 ASL (https://code.google.com/p/android-screenshot-library/downloads/detail?name=asl-1.2.zip&can=2&q=),它使用编译后的二进制文件中提供的“本机服务”。图书馆的 wiki 说明您必须使用 pc 由 ADB 启动本机“截图服务”。

我的问题是:是否有可能通过 java 代码以编程方式启动该服务,就像 JNI(使用 NDK)那样?

【问题讨论】:

  • 不,不会破坏设备的安全模型(即,被“root”)。
  • IIRC,shell 用户也可以访问截图机制。所以不需要设备root,严格来说只需要开启ADB调试即可。

标签: android service android-ndk screenshot native


【解决方案1】:

在有根设备上,您可以使用 Java 启动服务

Runtime.getRuntime().exec("su")

在自定义系统上,您可以从/init.rc启动服务。

无论如何,NDK 也无济于事。转到 C 不会损害系统权限。

【讨论】:

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