• 在java代码中判断当前国家码&&遍历Switchpreferencer开关进行展示


    使用adb命令查看当前设备的国家码

    adb root
    adb shell getprop findstr country
    
    • 1
    • 2

    根据adb获得可以判断国家码的属性
    在代码中通过获得的属性进行判断

    if(“US”.equalsIgnoreCase(SystemProperties.get("ro.product.countrycode",""))){
    //符合的国家码进行的逻辑
    }
    
    • 1
    • 2
    • 3

    遍历Switchpreference然后展示

     getPreferenceManager().setSharedPreferencesName(LauncherFiles.SHARED_PREFERENCES_KEY);
                setPreferencesFromResource(R.xml.launcher_preferences, rootKey);
    
                PreferenceScreen screen = getPreferenceScreen();
                for (int i = screen.getPreferenceCount() - 1; i >= 0; i--) {
                    Preference preference = screen.getPreference(i);
                    if (!initPreference(preference)) {
                        screen.removePreference(preference);//关闭删除某一个控件
                    } else {
                        preference.setOnPreferenceChangeListener((preferences, newValue) -> {
                            
                            mSharedPrefs.edit().putBoolean(preferences.getKey(), (Boolean) newValue).apply();
                            if(preferences.getKey().equals(RECENT_USED_PREFERENCE_KEY)){
                           
                                onSwitchStateUpdateListener.onStateUpdate(0);
                            }else  if(preferences.getKey().equals(ALL_APPS_ENTRY_PREFERENCE_KEY)){    
                                onSwitchStateUpdateListener.onStateUpdate(1);
                            }else if(preferences.getKey().equals(KEY_ENABLE_MINUS_ONE)){
                                SharedPreferences sharedPreferences=mlauncher.getSharedPreferences("googlenagative",MODE_PRIVATE);
                                SharedPreferences.Editor editor=sharedPreferences.edit();
                                if((newValue+"").equals("true")){
                                    editor.putBoolean("isopen",true);
    
                                }else{
                                    editor.putBoolean("isopen",false);
                                }
                                editor.commit();
                                mlauncher.getWorkspace().requestLayout();
                            }else if(preferences.getKey().equals(ADD_ICON_PREFERENCE_KEY)){
                            }else if(preferences.getKey().equals(RECENT_INSTALL_PREFERENCE_KEY)){
                            }
                            return true;
                        });
                    }
                }
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
  • 相关阅读:
    RabbitMQ中延迟队列的全方位解析
    After Effects 2023 v23.6
    Nginx优化和防盗链
    【论文阅读】CVPR2022: Learning from all vehicles
    Super Marker插件——标记资源,提高效率
    纯后端如何写前端?我用了低代码平台
    八问八答 | 目前IAA出海到了什么阶段?原来赚钱的尽头满是营销
    Vue使用axios进行get请求拼接参数的两种方式
    rsync详解
    2022-纯css3飞翔的小鸟
  • 原文地址:https://blog.csdn.net/ll_j_21/article/details/126091219