Android 程序常駐(0)----MarsDaemon使用說明
這是一個輕量級的庫,配置幾行程式碼,就可以實現在android上實現程序常駐,也就是在系統強殺下,以及360獲取root許可權下,clean master獲取root許可權下都無法殺死程序
支援系統2.3到6.0
支援大部分裝置,包括三星,華為,oppo,nexus,魅族等等
可以簡單對開機廣播進行保護
github地址:
原理分析:
正文:
Marsdaemon配置需要三步:
1、明確自己需要常駐的程序service,建立一個和他同進程的receiver,然後在另外一個程序中建立一個service和一個receiver,並寫在Manifest中。程序名可以自定義
見/MarsDaemon/DemoMarsdaemon/src/main/AndroidManifest.xml
service1是應用中有業務邏輯的需要常駐程序的service,其他三個元件都是額外建立的,裡面不要做任何事情,都是空實現就好了
2、用你的Application繼承DaemonApplication,然後在回撥方法getDaemonConfigurations中返回一個配置,將剛才註冊的程序名,service類名,receiver類名傳進來。
程式碼/MarsDaemon/DemoMarsdaemon/src/main/java/com/marswin89/marsdaemon/demo/MyApplication1
此時如果你想在自己的application裡面複寫attachBaseContext方法的話,發現他已經被寫為final,因為我們需要搶時間,所以必須保證程序進入先載入Marsdaemon,如果你想在attchBaseContext中做一些事情的話,可以複寫attachBaseContextByDaemon方法。
如果你的Application已經繼承了其他的Application類,那麼可以參考Appliation2,在Application的attachBaseContext的時候初始化一個DaemonClient,然後呼叫他的onAttachBaseContext同樣可以實現,當然了,他同樣需要一個配置來告訴他我們剛才在menifest中配的資訊
程式碼程式碼/MarsDaemon/DemoMarsdaemon/src/main/java/com/marswin89/marsdaemon/demo/MyApplication2
3、第三步就是嘗試去殺掉程序