设为首页 加入收藏

TOP

Android 7.1原生设置项删除(一)
2018-10-07 10:09:24 】 浏览:105
Tags:Android 7.1 原生 设置 删除

从源码中看到Settings继承SettingsActivity,而SettingsActivity继承SettingsDrawerActivity,在SettingsDrawerActivity的onCreate方法中,我们看到调用了getDashboardCategories方法,代码:


跟进到该方法的具体实现:


  public List<DashboardCategory> getDashboardCategories() {
        if (sDashboardCategories == null) {
            sTileCache = new HashMap<>();
            sConfigTracker = new InterestingConfigChanges();
            // Apply initial current config.
            boolean newC =sConfigTracker.applyNewConfig(getResources());
            Log.d(TAG, "newC = " + newC);
            sDashboardCategories = TileUtils.getCategories(this, sTileCache);//重点在这里
        }
        return sDashboardCategories;
    }



跟进到getCategories方法:



    private static final String EXTRA_SETTINGS_ACTION =
            "com.android.settings.action.EXTRA_SETTINGS";


    /**
    * Same as #EXTRA_SETTINGS_ACTION but used for the platform Settings activities.
    */
    private static final String SETTINGS_ACTION =
            "com.android.settings.action.SETTINGS";


    private static final String OPERATOR_SETTINGS =
            "com.android.settings.OPERATOR_APPLICATION_SETTING";


    private static final String OPERATOR_DEFAULT_CATEGORY =
            "com.android.settings.category.wireless";


    private static final String MANUFACTURER_SETTINGS =
            "com.android.settings.MANUFACTURER_APPLICATION_SETTING";


    private static final String MANUFACTURER_DEFAULT_CATEGORY =
            "com.android.settings.category.device";


//以上是TileUtils.java定义的常量


    public static List<DashboardCategory> getCategories(Context context,
            HashMap<Pair<String, String>, Tile> cache) {
        //......省略
        for (UserHandle user : userManager.getUserProfiles()) {
            // TODO: Needs much optimization, too many PM queries going on here.
            if (user.getIdentifier() == ActivityManager.getCurrentUser()) {
                // Only add Settings for this user.
                getTilesForAction(context, user, SETTINGS_ACTION, cache, null, tiles, true);
                getTilesForAction(context, user, OPERATOR_SETTINGS, cache,
                        OPERATOR_DEFAULT_CATEGORY, tiles, false);
                getTilesForAction(context, user, MANUFACTURER_SETTINGS, cache,
                        MANUFACTURER_DEFAULT_CATEGORY, tiles, false);
&n

首页 上一页 1 2 下一页 尾页 1/2/2
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇你没听说过的 Go 语言惊人优点 下一篇Android指定专用APN

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目