今天在Android遇到一个需求,不允许用户完全清除应用私有目录(/data/data/包名/),但是Android默认情况下用户通过在应用信息里面点击清除数据按钮把所有的应用私有目录下的的数据文件完全清除,其中包含SharedPreference,缓存文件,数据库等等重要数据。

android:manageSpaceActivity让应用手动管理应用的数据目录_第1张图片

如果我们不想用户这样做,就需要用到android:manageSpaceActivity属性,这个属性是AndroidManifest.xml中的application标签的一个属性,意思是用于指定一个Activity来管理数据

,加上这个属性,指定SettingActivity为管理空间的Activity

<applicationandroid:manageSpaceActivity=".activity.SettingActivity"></application>

我们再看看Android的应用信息界面

android:manageSpaceActivity让应用手动管理应用的数据目录_第2张图片

这时候清除数据按钮编程管理空间了,点击之后,就启动指定的Activity,我只允许删除缓存文件和清除数据库中的收藏表

android:manageSpaceActivity让应用手动管理应用的数据目录_第3张图片

更多相关文章

  1. Android入门篇三:使用静态变量在Activity之间传递数据
  2. android读写assets目录下面的资源文件(文件夹)
  3. Android:使用Gson解析复杂的JSON数据
  4. [Android]解决Fragment无法使用android:onClick属性
  5. Android 源码目录 分析
  6. Android Data Storage --- Android 数据存储
  7. Android Menu中android:showAsAction属性

随机推荐

  1. Android菜单操作之创建并响应菜单
  2. Android 中自定义控件和属性(attr.xml,de
  3. 亲测Android横竖屏切换小结,带测试结果
  4. android Studio修改生成apk文件的名称
  5. android长按图片保存到本地相册
  6. android breakpad
  7. view的clickable属性和点击background颜
  8. android testing (一)
  9. Android添加依赖recycleview错误
  10. Ionic2 在Android设备上的部署