Android 13 默认关闭 快速打开相机

介绍

在设置菜单的手势界面里,快速打开相机是默认开启的,此功能当开启时连续点击两次电源键会打开相机,现在客户需要默认关闭。

效果展示

修改

这里一开始想到的就是配置文件,在路径下果然找到了,从注释中看使我们需要的,默认写为false试试,当修改后发现双击确实无法打开相机了,但是这样会导致手势菜单消失,这样我们就暂时不考虑这种改法了。

路径:frameworks/base/core/res/res/values/config.xml

XML 复制代码
    <!-- Allow the gesture to double tap the power button twice to start the camera while the device
         is non-interactive. -->
    <bool name="config_cameraDoubleTapPowerGestureEnabled">true</bool>

接下来我就通过关键字开关属性,发现 settings的secure中有这么一条属性camera_double_tap_power_gesture_disabled当快速打开相机关闭时这条属性值为1,那么我们只需默认这个值为1即可。

路径:frameworks/base/core/java/android/provider/Settings.java

java 复制代码
        /**
         * Whether the camera launch gesture to double tap the power button when the screen is off
         * should be disabled.
         *
         * @hide
         */
        @Readable
        public static final String CAMERA_DOUBLE_TAP_POWER_GESTURE_DISABLED =
                "camera_double_tap_power_gesture_disabled";

路径:vendor/mediatek/proprietary/packages/apps/SettingsProvider/res/values/defaults.xml

XML 复制代码
    <!--soda water.20231229 default close double camera -->
    <integer name="camera_double_disable">1</integer>

在loadSecureSettings中加载这个值读取上面刚刚定义的integer的值

路径:vendor/mediatek/proprietary/packages/apps/SettingsProvider/src/com/android/providers/settings/DatabaseHelper.java

java 复制代码
    private void loadSecureSettings(SQLiteDatabase db) {
        SQLiteStatement stmt = null;
        try {
            //...略
            //*/soda water.20231229 default close double camera
            loadIntegerSetting(stmt, Settings.Secure.CAMERA_DOUBLE_TAP_POWER_GESTURE_DISABLED,
                    R.integer.camera_double_disable);
            //*/
        }

    }
相关推荐
野生的码农7 小时前
放过自己,降低预期,及时行乐
android·ai编程
huwuhang8 小时前
索尼PS3游戏合集【中文游戏】8.12T 1430个游戏+PS3模拟器
android·游戏·智能手机·游戏机·电视
Grackers10 小时前
Android Perfetto 系列 5:Android App 基于 Choreographer 的渲染流程
android
踩着两条虫10 小时前
AI驱动的Vue3应用开发平台深入探究(十):物料系统之内置组件库
android·前端·vue.js·人工智能·低代码·系统架构·rxjava
sam.li10 小时前
JADX MCP 原理与使用部署
android·逆向·jadx
冬奇Lab11 小时前
Android 15音频子系统(五):AudioPolicyService策略管理深度解析
android·音视频开发·源码阅读
亚历克斯神11 小时前
Flutter for OpenHarmony: Flutter 三方库 mutex 为鸿蒙异步任务提供可靠的临界资源互斥锁(并发安全基石)
android·数据库·安全·flutter·华为·harmonyos
movigo7_dou13 小时前
双目立体匹配
数码相机·opencv·计算机视觉
dalancon13 小时前
SurfaceControl 的事务提交给 SurfaceFlinger,以及 SurfaceFlinger 如何将这些数据设置到对应 Layer 的完整流程
android
dalancon13 小时前
SurfaceFlinger Layer 到 HWC 通信流程详解
android