瑞芯微Rockchip开发者社区
直播中

王越建

7年用户 1442经验值
私信 关注
[问答]

双击Power键会弹出Camer应用该怎样去解决呢

为什么双击Power键会弹出Camer应用呢?
双击Power键会弹出Camer应用该怎样去解决呢?

回帖(1)

吴南加

2022-3-9 10:53:13
测试平台
Platform: RK3399/RK3328
OS: Android7.1/8.1/9.0/10.0


现象
双击Power键会弹出Camer应用,由于机器默认不带摄像头,所以需要关闭这个快捷操作


分析解决
跟踪代码发现,双击power流程是从PhoneWindowManager传入GestureLauncherService中,然后在GestureLauncherService中进行处理的。


//frameworks/base/services/core/java/com/android/server/GestureLauncherService.java
//frameworks/base/services/core/java/com/android/server/policy/PhoneWindowManager.java


PhoneWindowManager.interceptPowerKeyDown() ->
GestureLauncherService.interceptPowerKeyDown()->
GestureLauncherService.mCameraDoubleTapPowerEnabled-
GestureLauncherService.isCameraDoubleTapPowerSettingEnabled()




    public static boolean isCameraDoubleTapPowerSettingEnabled(Context context, int userId) {
        return isCameraDoubleTapPowerEnabled(context.getResources())
                && (Settings.Secure.getIntForUser(context.getContentResolver(),
                        Settings.Secure.CAMERA_DOUBLE_TAP_POWER_GESTURE_DISABLED, 0, userId) == 0);
    }


    public static boolean isCameraDoubleTapPowerEnabled(Resources resources) {
        return resources.getBoolean(
                com.android.internal.R.bool.config_cameraDoubleTapPowerGestureEnabled);
    }


由上可知道,控制双击Power 键功能的开关有两个:


com.android.internal.R.bool.config_cameraDoubleTapPowerGestureEnabled
Settings.Secure.CAMERA_DOUBLE_TAP_POWER_GESTURE_DISABLED
关闭其中一个即可实现需求


方案1:
关闭com.android.internal.R.bool.config_cameraDoubleTapPowerGestureEnabled


diff --git a/frameworks/base/core/res/res/values/config.xml b/frameworks/base/core/res/res/values/config.xml
index 9074a45..70a6254 100644
--- a/frameworks/base/core/res/res/values/config.xml
+++ b/frameworks/base/core/res/res/values/config.xml
@@ -3271,7 +3271,7 @@

     
-    true
+    false


方案2:
关闭 Settings.Secure.CAMERA_DOUBLE_TAP_POWER_GESTURE_DISABLED


diff --git a/frameworks/base/packages/SettingsProvider/res/values/defaults.xml b/frameworks/base/packages/SettingsProvider/res/values/defaults.xml
index 7b81d9a..91fcbec 100644
--- a/frameworks/base/packages/SettingsProvider/res/values/defaults.xml
+++ b/frameworks/base/packages/SettingsProvider/res/values/defaults.xml
@@ -244,4 +244,7 @@

     
     0
+
+   
+    false

diff --git a/frameworks/base/packages/SettingsProvider/src/com/android/providers/settings/DatabaseHelper.java b/frameworks/base/packages/SettingsProvider/src/com/android/providers/settings/DatabaseHelper.java
index 8c1825d..4cd7e16 100644
--- a/frameworks/base/packages/SettingsProvider/src/com/android/providers/settings/DatabaseHelper.java
+++ b/frameworks/base/packages/SettingsProvider/src/com/android/providers/settings/DatabaseHelper.java
@@ -2432,6 +2432
举报

更多回帖

发帖
×
20
完善资料,
赚取积分