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);
            //*/
        }

    }
相关推荐
灰鲸广告联盟16 分钟前
新老用户广告价值不同?差异化策略如何实现收益最大化
android·开发语言·flutter·ios
朱涛的自习室1 小时前
逃离“古法测试”:AI 测试的“三大定律”
android·前端·人工智能
QING6181 小时前
Android面试 —— 八股文(一)
android·面试·android jetpack
带娃的IT创业者1 小时前
围墙花园的隐形锁:当 reCAPTCHA 拒绝了“去谷歌化”的 Android 用户
android·隐私安全·人机验证·recaptcha·去谷歌化·grapheneos
awu的Android笔记2 小时前
Android 用户态实现 TCP 代理:从 SYN 到 FIN 的完整生命周期
android·tcp/ip
Geek_Vison2 小时前
技术实践:保险健康APP引入第三方小程序实战,如何构建一个安全可控的沙箱环境~
android·安全·小程序·uni-app·mpaas
2501_915918413 小时前
Python如何抓取HTTPS请求包的完整教程与代码示例
android·ios·小程序·https·uni-app·iphone·webview
. . . . .3 小时前
android开发
android
程序员看世界3 小时前
Kotlin协程是如何实现优先级机制的
android·kotlin
Carson带你学Android3 小时前
Kotlin放大招!官方 Skills 直接喂出「专家级」代码
android·前端·kotlin