偶然看到在Android手机的"应用程序信息"里面腾讯管家和手机百度的不能清除数据,显示的是管理空间,感觉这个挺有意思的,可以防止用户进行数据的清除,于是就查了一下,原来实现方式很简单。
第一张图是一般应用程序查看"应用程序信息",里面可以看到清除数据,点击之后应用的数据就清除了。
第二张图是腾讯管家和手机百度的"应用程序信息",可以看到管理空间,点击之后,它会跳转到一个Activity中去,也就是没有执行数据的清除操作。
下面看看实现方式吧。
android:manageSpaceActivity="[packageName].ManageSpaceActivity"
...
...
>
android:name="[packageName].ManageSpaceActivity"
android:screenOrientation="portrait" />
我们只需要在程序的manifest文件的application中加上manageSpaceActivity属性,并且指定一个Activity,这个Activity就是点击管理空间之后会跳转的那个Activity了。
我们下面就实现这个Activity。
public class ManageSpaceActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
finish();
}// onCreate
}
可以看到,这个Activity有些流氓,直接finish了,也就是当我点击管理空间无效,这样用户就无法清除数据了。一般情况下,这个Activity是用来自定义的数据管理,让用户有选择性的进行数据清理,避免重要数据被清除。