項目要求增加程序鎖功能。要預研一下。
網上反編了比較流行的程序鎖,瞭解到大概方向:
1 後臺服務不斷監視顯示在前臺的應用。
2 當是需要鎖住的應用,啓動程序鎖密碼頁面。
3 密碼成功則關閉程序鎖密碼頁面,失敗則調用關閉後臺的接口,關閉應用,
google了下如何關閉第三方應用。
原來,只要被關閉第三方應用不再前臺,己可以利用ActivityManager.restartPackage(),killBackgroundProcesses()關閉。
這樣,程序鎖功能基本就可以實現了。
項目另外要求,被鎖住的程序希望在桌面或者其他任何地方都不會被顯示。
呃,這個看來比較麻煩。
應用列表的數據是android系統自身管理的。查系統源碼發現,android中獲取應用列表是通過掃描所有apk包路徑得來的。
那初步設想,這個“隱藏被鎖應用”的功能,只有在root後,改變apk包的名稱或者路徑,以避免被掃描到來實現了。
但是這麼做還有個後患,將應用改回去後,可能會有數據目錄歸屬權限的問題,,待研究。。