首页 > 其他分享 >安卓长按关机按键确认

安卓长按关机按键确认

时间:2024-09-10 11:46:37浏览次数:11  
标签:case 关机 安卓长 POWER LONG 按键 PRESS OFF config

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

//查看长按关机方法
private void powerLongPress() {
final int behavior = getResolvedLongPressOnPowerBehavior();
switch (behavior) {
case LONG_PRESS_POWER_NOTHING:
break;
case LONG_PRESS_POWER_GLOBAL_ACTIONS:
mPowerKeyHandled = true;
performHapticFeedback(HapticFeedbackConstants.LONG_PRESS, false,
"Power - Long Press - Global Actions");
showGlobalActionsInternal();
break;
case LONG_PRESS_POWER_SHUT_OFF:
case LONG_PRESS_POWER_SHUT_OFF_NO_CONFIRM:
mPowerKeyHandled = true;
performHapticFeedback(HapticFeedbackConstants.LONG_PRESS, false,
"Power - Long Press - Shut Off");
sendCloseSystemWindows(SYSTEM_DIALOG_REASON_GLOBAL_ACTIONS);
mWindowManagerFuncs.shutdown(behavior == LONG_PRESS_POWER_SHUT_OFF);
break;
case LONG_PRESS_POWER_GO_TO_VOICE_ASSIST:
mPowerKeyHandled = true;
performHapticFeedback(HapticFeedbackConstants.LONG_PRESS, false,
"Power - Long Press - Go To Voice Assist");
// Some devices allow the voice assistant intent during setup (and use that intent
// to launch something else, like Settings). So we explicitly allow that via the
// config_allowStartActivityForLongPressOnPowerInSetup resource in config.xml.
launchVoiceAssist(mAllowStartActivityForLongPressOnPowerDuringSetup);
break;
case LONG_PRESS_POWER_ASSISTANT:
mPowerKeyHandled = true;
performHapticFeedback(HapticFeedbackConstants.LONG_PRESS, false,
"Power - Long Press - Go To Assistant");
final int powerKeyDeviceId = Integer.MIN_VALUE;
launchAssistAction(null, powerKeyDeviceId);
break;
}

private int getResolvedLongPressOnPowerBehavior() {
    //检查是否为工厂测试模式 
    if (FactoryTest.isLongPressOnPowerOffEnabled()) {
        return LONG_PRESS_POWER_SHUT_OFF_NO_CONFIRM;
    }
    return mLongPressOnPowerBehavior;
    //return LONG_PRESS_POWER_SHUT_OFF_NO_CONFIRM;
}

//查看mLongPressOnPowerBehavior,config_longPressOnPowerBehavior默认值为1
mLongPressOnPowerBehavior = Settings.Global.getInt(resolver,
Settings.Global.POWER_BUTTON_LONG_PRESS,
mContext.getResources().getInteger(
com.android.internal.R.integer.config_longPressOnPowerBehavior));

frameworks/base/core/res/res/values/config.xml

<!-- Control the behavior when the user long presses the power button.
        0 - Nothing
        1 - Global actions menu
        2 - Power off (with confirmation)
        3 - Power off (without confirmation)
        4 - Go to voice assist
        5 - Go to assistant (Settings.Secure.ASSISTANT)
-->
<integer name="config_longPressOnPowerBehavior">1</integer>

frameworks/base/core/res/res/values/config.xml

标签:case,关机,安卓长,POWER,LONG,按键,PRESS,OFF,config
From: https://www.cnblogs.com/ccarlos0/p/18406136

相关文章

  • 按键精灵输入通过数据录入数据代码例子
    Dima(560)a(0)="pkn2408290135-100"a(1)="pkn2408290135-101"a(2)="pkn2408290135-102"a(3)="pkn2408290135-103"a(4)="pkn2408290135-104"a(5)="pkn2408290135-105"a(6)="pkn2408290135-106"......
  • 【微处理器系统原理与应用设计第九讲】GPIO之按键控灯功能——按键控制灯进行亮灭转换
    一、基础知识与明确1、GPIO的有效电平由按键结构决定,按键按下时输入为低电平,按键悬空时为输入为高电平,按键的输入给到GPIO的引脚(例如PC13)2、条件控制语句if(a):如果a为非0数字或字符那么就为真,if条件成立,反之不成立。if(!a):如果!a为真,也就是a为0时,if条件成立,反之不成立。if......
  • 51单片机 - 定时器0(按键控制LED流水灯模式)
    时间:2024.9.2目的:手撕51作者:Whappy定时器0寄存器配置1.定时器0配置过程首先要配置定时器的寄存器TCON和TMOD使计数器开始计数及定时器的初始值,配置使这个链路连起来。#include<REGX52.H>voidTimer0_Init(){ TMOD=0x01;//工作模式寄存器 //控制寄存器 TF......
  • 恶搞关机代码,仅供娱乐
    想要使用恶搞关机代码我们得先了解以下知识:1.系统关机命令(Windows系统)shutdown-s-t60shuteown这个是windows系统的关机命令。-s是设置关机。-t是倒计时关机。60是60秒后关机。shutdown-aWindows系统的取消关机命令。2.system函数system函数是c语言中......
  • 关于正点原子input子系统,驱动中按键中断只检测了上升或下降沿却可以实现连按(EV_REP)的
    问题在学习到Linux内核input子系统时,产生了一个疑惑。可以看到,我们改造按键中断驱动程序(请见keyinputdriver.c(内核驱动代码)),通过检测按键的上升沿和下降沿,在中断处理函数(上半部内)通过mod_timer(&dev->timer,jiffies+msecs_to_jiffies(20))函数启动定时器。在定时器处理函数中上......
  • 随笔九、SARADC按键程控测试
    目录1.泰山派环境2.按键3分析3.编程测试1.泰山派环境泰山派开发板上有3个按键按键1是电源按键PWRON,实测按几下会导致开发板重启按键2是复位按键RESET,按下立马复位重启按键3是升级按键RECOVER,配合RESET按键可以使开发板进入Loader烧写模式一般来说开发板都会给......
  • 基于HAL库的按键输入实验
    一、实验目的:1.了解STM32固件库;2.掌握STM32固件库关键子目录及固件库关键文件;3.能够新建一个基于标准固件库的工程模板并完成编译;4.通过按键控制LED亮灭的实验掌握库函数的调用方法、端口的配置方法、程序执行流程,并体验到程序控制的实际效果。二、实验器材:安装有keli和S......
  • 蓝桥杯单片机入门(8)—按键控制LED流水灯,加速,减速,暂停,开始
    这回我们讲的是,按键对LED灯的控制,这次是基于上次按键模块的基础上进行了进一步的加工,处理。通过按键,实现对LED流水灯的对应的各种功能。首先,在这里先介绍一个概念,标志位,标志位可以理解为设置的一个变量,这个变量作为标志位去使用,给标志位赋不同的值,执行不同的任务。比如标志位F......
  • 告别深夜熬夜,PowerOff自动关机助你早睡好梦!
    前言你是否有这样的经历,计划10点关电脑睡觉,到了12点还在面对屏幕“热恋”?你是否需要这么一款神器,在设定的时间自动关闭电脑,轻松告别“加班”,享受健康生活?嘿嘿,让我来告诉你,真的有这样一款神器存在——PowerOff!只需简单设置,就能设定好关机时间,无论是今晚的追剧时光,还是设定的......
  • STM32 - 按键控制LED灯
    功能:按键控制LED的亮灭。两个按键:PE3和PE2两个LED:PE5和PB5按键PE3控制LED2-PE5;按键PE2控制LED3-PB5main.c:#include"stm32f10x.h"//Deviceheader#include"Delay.h"#include"LED.h"#include"Key.h"uint8_tKeyNum;i......