设置存储

Android 7.1.1 设置-存储-内部共享存储空间

字符串资源所在目录:

/frameworks/base/core/res/res/values-zh-rCN/strings.xml

<string name="storage_internal" msgid="3570990907910199483">"内部共享存储空间"</string>

Java代码路径:

/frameworks/base/core/java/android/os/storage/VolumeInfo.java

return Resource.getSystem().getString(com.android.internal.R.string.storage_internel);

设置部分代码路径:

/package/apps/Settings/src/com/android/settings/deviceinfo/PrivateVolumeSettings.java

onCreate()中设置了布局

addPreferencesFromResource(R.xml.device_info_storage_volume);

getPreferenceScreen().setOrderingAsAdded(true);

设置-存储-内部共享存储空间-应用

设置-存储-内部共享存储空间-图片

设置-存储-内部共享存储空间-视频

设置-存储-内部共享存储空间-音频

设置-存储-内部共享存储空间-系统

设置-存储-内部共享存储空间-其他

private static final int [ ]  ITEMS_SHOW_SHARED = new int[ ] {

R.string.storage_detail_apps;

R.string.storage_detail_images;

R.string.storage_detail_videos;

R.string.storage_detail_audio;

R.string.storage_detail_system;

R.string.storage_detail_other;

 };


设置-存储-内部共享存储空间-缓存数据

addItem(screen, R.string.storage_detail_cached, null, Userhandle.USER_NULL);

设置-存储-内部共享存储空间-浏览

mExplore = buildAction(R.string.storage_menu_explore);

onPreferenceTreeClick 处理了这些id的点击事件。

想看一下这个分区界面的显示到底是针对哪个实际分区的:


调用PrivateVolumeSettings.java的地方是:



Android N 设置界面主要由由Conditions,Suggestions和Main Menu三部分组成Android 7.0 settings 新功能全面解析

Settings.java 是一个静态Class的集合(那么所有的初始化操作自然在其父类实现),里面定义了用于独立启动的设置子类,追从其继承关系

Settings extends SettingsActivityextends SettingsDrawerActivityimplements 

PreferenceManager.OnPreferenceTreeClickListener,

PreferenceFragment.OnPreferenceStartFragmentCallBack,

ButtonBarHandler,FragmentManager.OnBackStackChangedListener,

SearchView.OnQueryTextListener,SearchView.OnCloseListener,

MenuItem.OnActionExpandListener

SettingsActivity.java 的OnCreate() 看出刚开始主界面是转入DashBoardSummary.java这个Fragment的界面。进入DashBoardSummary.java,查看其onCreate(),

可以看出主的Menu Tree 上的所有列表信息,来源于getDashboardCategries()这个函数,查看这个函数的声明,发现其位于SettingsDrawerActivity.java中。

SettingsDrawerActivity.java 位于/frameworks/base/package/SettingsLib/src/com/android/settingslib/drawer/

查看getDashboardCategries()的定义,发现所有列表信息来源于TitleUtils类的getCategroies()类,从这个类的内部发现,其实所有的列表项都是从AndroidManifest.xml

文件中解析得到的,具体的解析配置涉及到如下两块:

<meta-data android:name="com.android.settings.category"

android:value="com.android.settings.category.wireless" />

<intent-filter android:priority="4">

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值