标题略长, 还不好懂, 果断上图说明:
以下是一般应用在Settings应用管理页面下, 显示的"清除数据"按钮
以下是通过配置将"清除数据"变成"管理空间"按钮的截图(点击按钮后, 会进入自定义的Activity):
then, how to?
找到程序AndroidManifest.xml下的Application标签, 加入属性android:manageSpaceActivity.
done.
上面描述了怎么做成事情, 只要做功能的话看到这里就够了.
下面加一些描述, 属于类似原理的东西(因为不是原理, 但又有点像):
1. android:manageSpaceActivity这个标签, 实际上指定了一个用于管理User Data的Activity. 在点击"管理空间"的时候, 就会跳转到这个Activity, 从而实现自定义User Data的管理.
2. 从Settings的代码来看:
以下是Settings下变更这个按钮文本的代码:
- if (mAppEntry.info.manageSpaceActivityName != null) {
- mClearDataButton.setText(R.string.manage_space_text);
- } else {
- mClearDataButton.setText(R.string.clear_user_data_text);
- }
这里的info, 即android.content.pm.ApplicationInfo. 可以看出, 在决定按钮显示内容前, Settings会先读取该应用是否存在manageSpaceActivityName.
3. 好像没有了...