Android应用将"清除数据"项变为"管理空间",自定义数据清除

在设置中可以清除应用的数据,缓存可以让用户随意清理,可是私有数据的随意清理会丢失用户的本地信息,尤其是有重要的信息。

后来发现手机管家等应用是没有“清除数据”项的,被一个“管理空间”代替了,看了一下他的实现原理,还是比较简单的。


这一张图是手机淘宝的应用程序信息(清除数据就在那,不用我多说,大家都知道);



这一张是手机管家的管理空间的图片,点击管理空间,弹出对话框提示警告,选择删除就删除了。




以下是实现方法

<application
    android:label="MyApp" android:icon="@drawable/icon" 
    android:manageSpaceActivity="[yourPackageName].ManageSpaceActivity"
    ...
    ...
>


  <activity
    android:name="[yourPackageName].ManageSpaceActivity"
    android:screenOrientation="portrait" />
</applicatio

只需在程序的 AndroidManifest.xml 中的application 中加上manageSpaceActivity这个属性,并且给他指定一个Activity,那这个Activity就是点击管理空

间后,会开启的Activity。我们可以在这个Activity中做自己的自定义清除数据。

public class ManageSpaceActivity extends Activity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

 <span style="white-space:pre">	</span>Toast.makeText(this,"已最优,无需管理",Toast.LENGTH_SHORT).show();
        finish();

    }
}


其实我并没有做什么数据的清除,我只是给了他一个提示,他信也好,不信也罢,他是不可以通过管理空间来清除数据的。再有需

求的情况下,可以通过这个Activity来进行自定义的数据管理,让用户有选择的进行数据清理,避免重要的数据被清除。


网上还有一些帖子说在AndroidManifest中设置android:allowClearUserData的值为false,这个属性的意思是 是否允许清除数据,但是设置为false 并没有什么卵用。。。



  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值