2012-01-10 103 views
0

我不想要代碼,只需要幫助找到從哪裏開始這個項目。我需要編寫一個在Adroid OS後臺運行的應用程序,並以設定的時間間隔截取屏幕截圖並將它們保存到文件或數據庫中。到目前爲止,我只用了Java SDK,但我想我可能需要爲這個項目做的東西在C,這是因爲:Android SDK的記錄屏幕?

  1. 我沒有看到Java中的方式直接與畫布工作/其他活動的屏幕?由於每個活動都有自己的記憶,並且出於安全原因,所有活動都保持獨立,所以我認爲我需要進一步降低水平?

  2. 理想的父母可以安裝自己孩子的手機上這個程序,它會不會是平凡的他們將其禁用或不父注意到卸載。這可能會變得棘手,如果需要,我可以考慮使用現成的解決方案,但希望在較低的C級別上可能會有幫助。

  3. 如果我需要去與C級SDK,在那裏將成爲發行限制/安裝變得棘手?例如,像這樣的東西需要與原始設備製造商達成協議才能預先安裝我們的軟件。

...我想象的防病毒軟件可能是相似的類作爲什麼我的應用程序需要做的,但不幸的是間諜軟件和病毒可能也做類似的事情,所以後來成爲問題,即使這將是一個非常合法的應用程序。

+0

https://github.com/cgjones/android-frameworks-base/blob/gingerbread-b2g/include/surfaceflinger/SurfaceComposerClient.h是你的朋友。但請記住,在那裏找到的ScreenshotClient類可以被認爲相當好地阻止常規應用程序。 – harism 2012-01-10 23:40:09

回答

2

我不很瞭解的實際截屏本身,但我可以用你的一些問題有所幫助。

理想情況下,家長可以將這個應用程序安裝在他們孩子的手機上,這對他們禁用它或在沒有父母注意的情況下卸載並不是微不足道的。這可能會變得棘手,如果需要,我可以考慮使用現成的解決方案,但希望在較低的C級別上可能會有幫助。

如果您的APK是在system/app文件夾,然後它無法通過管理應用程序的設置屏幕進行卸載。爲了進入該文件夾,你需要一個根植設備。然而,由於該設備是根植的,因此可以進入系統的r/w訪問,卸載應用程序並不是什麼難事,它只是一個不同的過程。要卸載,你只需要打開root explorer並手動刪除apk文件。

如果我需要去與C級SDK,在那裏將成爲發行限制/安裝變得棘手?例如,像這樣的東西需要與原始設備製造商達成協議才能預先安裝我們的軟件。

爲了得到任何接近你後(使其更難禁用/卸載自己),你要麼做是不太可能意味着存在公共API內的東西的功能,所以它可能會得到修復並最終破壞你的應用程序(我不是說有一種方法可以使用公共API來完成,如果有的話)。或者你會被你的應用程序困住,只能在一個有根的設備上工作,或者在你創建你自己的操作系統副本的設備上工作。

0

你想要什麼是不可能的,除非已解鎖裝置。