【发布时间】: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