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

Posted 王睿丶

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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);
                
            
        

以上是关于Android 11.0 Camera 默认分辨率90W像素的主要内容,如果未能解决你的问题,请参考以下文章

Android 11.0 修复:Camera 拍照后,图片详情信息的分辨率和画质信息概率性丢失

Android 11.0 Camera2 默认选择拍照尺寸修改及流程分析

Android 11.0 修复Camera预览照片时按键盘左右键,底部功能栏的焦点也同时变动

Android 11.0 修复Camera 启用后置摄像头在拍照界面下,白平衡按钮无法点击

Android 11.0 修复Camera 录像后,视频出现加速

Android 11.0 修复Camera 使用闪光灯拍照后,查看图片时详细信息为“未使用闪光灯”状态