Android 11.0 Camera 默认分辨率90W像素

路径:packages/apps/Camera2/src/com/android/camera/settings/CameraSettingsActivity.java

  private void setEntries(Preference preference) {
    
    
            if (!(preference instanceof ListPreference)) {
    
    
                return;
            }
            
            ListPreference listPreference = (ListPreference) preference;
            if (listPreference.getKey().equals(Keys.KEY_PICTURE_SIZE_BACK)) {
    
    


++                SharedPreferences pref = getActivity().getSharedPreferences("CameraFlag",MODE_PRIVATE);
++                if (!pref.getBoolean("flag",false)) listPreference.setValue("1280x720");   

                setEntriesForSelection(mPictureSizes.backCameraSizes, listPreference);
            } else if (listPreference.getKey().equals(Keys.KEY_PICTURE_SIZE_FRONT)) {
    
    
                setEntriesForSelection(mPictureSizes.frontCameraSizes, listPreference);
            } else if (listPreference.getKey().equals(Keys.KEY_VIDEO_QUALITY_BACK)) {
    
    
                setEntriesForSelection(mPictureSizes.videoQualitiesBack.orNull(), listPreference);
            } else if (listPreference.getKey().equals(Keys.KEY_VIDEO_QUALITY_FRONT)) {
    
    
                setEntriesForSelection(mPictureSizes.videoQualitiesFront.orNull(), listPreference);
            } else if (listPreference.getKey().equals(Keys.KEY_ANTIBANDING)) {
    
    
                listPreference.setEntries(mAntiBandingNames);
            }
        }

如果用户选择了新的像素,就会回调onSharedPreferenceChanged(),此时需要更改数据库的标识值flag,在下一次进入 setEntries()时,就不会再默认为90W了。

路径:packages/apps/Camera2/src/com/android/camera/settings/CameraSettingsActivity.java

当用户改变像素时,取消默认状态

 @Override
        public void onSharedPreferenceChanged(SharedPreferences sharedPreferences, String key) {
    
    

++            SharedPreferences.Editor editor = getActivity().getSharedPreferences("CameraFlag",MODE_PRIVATE).edit();
++            editor.putBoolean("flag",true);
++            editor.apply();     

            setSummary(findPreference(key));
            if (key.equals(Keys.KEY_RECORD_LOCATION)
                    && sharedPreferences.getString(key, "0").equals("1")) {
    
    
                Context context = this.getActivity().getApplicationContext();
                if (context.checkSelfPermission(Manifest.permission.ACCESS_COARSE_LOCATION)
                        != PackageManager.PERMISSION_GRANTED) {
    
    
                    requestPermissions(new String[] {
    
    Manifest.permission.ACCESS_COARSE_LOCATION},
                            PERMISSION_REQUEST_CODE);
                }
            }
        }

猜你喜欢

转载自blog.csdn.net/qq_27494201/article/details/125131813
今日推荐