• 在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
  • 相关阅读:
    jvm调优思路
    LeetCode-475. 供暖器-Java-easy
    【单片机毕业设计】【mcuclub-hj-002】基于单片机的多路温度控制设计
    【RN】为项目使用React Navigation中的navigator
    c# 与modbus
    先行进位加法器
    每日五道java面试题之spring篇(六)
    LeetCode | 232. 用栈实现队列
    项目部署(自动部署jenkins)前端
    松江主机联网方案
  • 原文地址:https://blog.csdn.net/ll_j_21/article/details/126091219