我不想要代码,只需要帮助找到启动此项目的位置。我需要编写一个在Adroid OS后台运行的应用程序,并按设定的时间间隔截取屏幕截图并将其保存到文件或数据库中。到目前为止,我只使用了Java SDK,但我想我可能需要在C中为这个项目做一些事情,因为:
我没有在Java中看到直接使用其他活动的画布/屏幕的方法?由于每个活动都有自己的记忆,出于安全原因,所有活动都保持相当分离,我认为我需要进入较低的水平?
理想情况下,家长可以在他们孩子的手机上安装此应用,如果没有家长注意,他们可能无法禁用或卸载此应用。这可能会变得棘手,如果需要我可以考虑开箱即用的解决方案,但希望在较低的C级可能有一些帮助。
如果我确实需要使用C级SDK,那么分配/安装是否会受到限制?例如,这样的事情是否需要与OEM达成协议以预先安装我们的软件。
...我想反病毒软件可能与我的应用程序需要做的类似,但不幸的是,间谍软件和病毒也可能做类似的事情,所以这就成了一个问题,即使这会是一个非常合法的应用程序。
答案 0 :(得分:2)
我对实际的屏幕截图本身并不了解,但我可以帮助您解决一些问题。
理想情况下,父母可以在他们孩子的手机上安装这个应用程序,如果没有父母注意到,禁用它或卸载它们并不是一件容易的事。这可能会变得棘手,如果需要我可以考虑开箱即用的解决方案,但希望在较低的C级可能有一些帮助。
如果您的apk位于system/app
文件夹中,则无法通过管理应用程序设置屏幕将其卸载。为了将它放入该文件夹,您需要一个有根设备。但是,由于设备已植根,因此可以对系统进行r / w访问,卸载应用程序实际上并不困难,这只是一个不同的过程。要卸载,您只需打开root explorer并手动删除apk文件。
如果我确实需要使用C级SDK,那么分配/安装是否会受到限制?例如,这样的事情是否需要与OEM达成协议以预先安装我们的软件。
为了获得接近你所使用的功能的任何地方(使自己更难以禁用/卸载),你要么在公共API中做一些不太可能存在的事情,所以它可能会得到修复,最终打破你的应用程序(我并不是说有一种方法可以使用公共API,就像有)。或者你只会在你的应用程序上工作,只能在root设备或你创建自己的操作系统副本的设备上工作。
答案 1 :(得分:0)
除了root设备外,您无法实现所需。