今天在Android遇到一個需求,不容許用戶徹底清除應用私有目錄(/data/data/包名/),可是Android默認狀況下用戶經過在應用信息裏面點擊清除數據按鈕把全部的應用私有目錄下的的數據文件徹底清除,其中包含SharedPreference,緩存文件,數據庫等等重要數據。android
若是咱們不想用戶這樣作,就須要用到android:manageSpaceActivity屬性,這個屬性是AndroidManifest.xml中的application標籤的一個屬性,意思是用於指定一個Activity來管理數據數據庫
,加上這個屬性,指定SettingActivity爲管理空間的Activity編程
<application android:manageSpaceActivity=".activity.SettingActivity" > </application>
咱們再看看Android的應用信息界面緩存
這時候清除數據按鈕編程管理空間了,點擊以後,就啓動指定的Activity,我只容許刪除緩存文件和清除數據庫中的收藏表app