位置: 编程技术 - 正文

Android 5.1 长按power键流程分析(android长按app快捷功能)

编辑:rootadmin
安全模式简述

推荐整理分享Android 5.1 长按power键流程分析(android长按app快捷功能),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:安卓长按app出现功能怎么设置,android长按app快捷功能,android 按键长按,android长按弹出菜单,安卓长按设置,android长按弹出菜单,android 按键长按,android 按键长按,内容如对您有帮助,希望把文章链接给更多的朋友!

android平台,在长按power / menu键时会快速进入一个模式选择,部分定制的平台是直接进入安装模式,也可以定制成公司需要的一些特定功能模式,比如报警 ...

Android 5.1 长按power键流程分析(android长按app快捷功能)

power 也属于全局的特殊按键,同样在PhoneWindowManager.java中被捕获处理。

Power键(long)监听流程InputDispatcher.cpp 中InputDispatcher::notifyKey分发按键 mPolicy->interceptKeyBeforeQueueing(&event, /*byref*/ policyFlags); 截获按键并处理,也即NativeInputManager::interceptKeyBeforeQueueingwmActions = env->CallIntMethod(mServiceObj,gServiceClassInfo.interceptKeyBeforeQueueing,keyEventObj, policyFlags);则会call 到InputManagerService.java中的interceptKeyBeforeQueueingmWindowManagerCallbacks实际为InputMonitorSystemServer.java 文件中startOtherServices调用inputManager.setWindowManagerCallbacks(wm.getInputMonitor()),给mWindowManagerCallbacks赋&#;,而wm.getInputMonitor()获取的是InputMonitor, 所以mWindowManagerCallbacks.interceptKeyBeforeQueueing最后调用到InputMonitor:interceptKeyBeforeQueueingInputMonitor.java文件中:而mService.mPolicy.interceptKeyBeforeQueueing则是WindowManagerService的按键策略机制mPolicy来继续捕获,mPolicy = PolicyManager.makeNewWindowManager // mPolicy为 PhoneWindowManagerPhoneWindowManager::interceptKeyBeforeDispatching其中就会截获KeyEvent.KEYCODE_POWERinterceptKeyBeforeQueueing里面就会截获一些特设的按键,下面我们看power键的处理down 表示一直为ACTION_DOWN状态,就会call interceptPowerKeyDown使用mHandler发送一个MSG_POWER_LONG_PRESS消息,而mHandler(PolicyHandler)就会在handleMessage处理消息MSG_POWER_LONG_PRESSPOWER_LONG_PRESS的处理上面处理MSG_POWER_LONG_PRESS消息时,powerLongPressshowGlobalActionsInternal会构造GlobalActions对象并显示GlobalActions对话框的显示GlobalActions主要是针对 “ 静音,重启,关机,飞行模式 ” 等全局按键的特殊快捷功能弹出的一些Dialog对话框。接着上面mGlobalActions.showDialog,继续分析showDialogmHandler中处理MESSAGE_SHOW消息 handleShow主要是创建Dialog对话框并显示 其中createDialog 创建的GlobalActionsDialog对话框内容比较丰富,创建一些Action ( SilentModeToggleAction/SilentModeTriStateAction, ToggleAction,) 保存在mItems里面, 其实我们也可以发现关机行为处理的PowerAction(ToggleAction 行为)也被添加到mItems ArrayList中。 在创建GlobalActionsDialog后给各个view设置监听,setItemsCanFocus,setLongClickable,setOnItemLongClickListener,其中setOnItemLongClickListener就是针对长按键的处理 ((LongPressAction) action).onLongPress(),如果不想处理power长按动作可以dialog.getListView().setOnItemLongClickListener(null)来到达要求。 而mWindowManagerFuncs有就是WindowManagerService,rebootSafeMode就会调到ShutdownThread进入安全模式WindowManagerService 调用rebootSafeMode之后,就转到ShutdownThread 线程来处理 rebootSafeMode会接着调shutdownInner,最终beginShutdownSequence call pms电源管理服务来关机重启至此整个长按 power键的处理流程结束。android系统重启功能定制 ,安全模式相关流程,安全模式流程图。

版权声明:本文为博主原创文章,未经博主允许不得转载。

Android基础入门教程——1. 反编译APK获取代码&资源 Android基础入门教程——1.反编译APK获取代码资源标签(空格分隔):Android基础入门教程本节引言:反编译Apk,看上去好像好像很高端的样子,其实不

AndroidStudio中如何加载so库 今天在AndroidStudio中建项目,用百度地图SDK做定位,却发现怎么都无法获取经纬度信息,原来是AndroidStudio中加载so库搞错了,之前看网上说的是在src/main

Android属性动画-Property Animation(一) 原理分析 PropertyAnimation我们为什么要用属性动画(PropertyAnimation)?它与视图动画(ViewAnimation)有什么不同?之前我们使用的ViewAnimation,它只能对View对象进行操作

标签: android长按app快捷功能

本文链接地址:https://www.jiuchutong.com/biancheng/378092.html 转载请保留说明!

上一篇:黑马程序员——Java基础--常见对象总结(三)(黑马程序员c++语言讲义)

下一篇:Android基础入门教程——1.10 反编译APK获取代码&资源(android新手入门)

  • 石油税费是多少
  • 建筑行业有哪种职业
  • 什么是边际税率高
  • 企业所得税如何申报操作
  • 税控盘扣税缴税分录怎么写
  • 收到失业金返还什么意思
  • 外贸出口备案需准备什么资料
  • 一般纳税人劳务费税率是13还是6
  • 土地租金一次付清的会计处理怎么做?
  • 跨年错误分录能红冲吗
  • 企业职工福利费扣除标准
  • 普通征税差额征税减按征税
  • 车船税已代扣代缴怎么办
  • 二手车交易公司需要什么资质
  • 应交增值税是否影响企业利润
  • 联营和合营的区别共同控制
  • 跨月发票作废怎么红冲
  • 进项税额进成本
  • 微小企业每个季度减免多少税
  • 库存商品成本变动率
  • 非贸易企业代扣代缴增值税和附加税如何做账?
  • win10下载软件被阻止安装怎么办
  • 逆流交易合并报表调整少数损益
  • 外汇账户怎么开
  • 笔记本cpu天梯图苹果
  • php防止网站被攻击怎么办
  • php变量底层实现
  • surface pro记笔记
  • 确定无形资产使用寿命时应当考虑的因素有
  • 销售商品收到商业汇票一张该笔业务应编制的记账凭证是
  • 员工宿舍中介费计入什么科目
  • 电脑开机按f8出现please select
  • 抵债资产的账务处理
  • 货款退回账务处理方法
  • 税金及附加的含义
  • 收回以前年度款项如何处理
  • thinkphp5自定义标签
  • PHP中使用什么关键字声明变量的作用域为全局
  • window cuda
  • 火车票抵税申报表怎么填
  • 企业自建房出售给员工个人后还需要缴纳土地使用税么
  • dict.setdefault()在python中设置默认值
  • 企业没有研发费用怎么做账
  • 负数红字发票如何申报
  • 核销发生的坏账损失
  • mongodb介绍
  • 处置固定资产净收益属于利得吗
  • 小规模纳税企业销售货物或者提供应税劳务
  • 未达起征点的增值税会计处理
  • 个税手续费返还比例
  • 一般纳税人每月开票限额是多少
  • 股份有限公司股东人数
  • 劳务公司发放农民工工资要交个税吗
  • 去年的暂估入库今年想把它给冲出来怎么做分录
  • 福利部门的福利有哪些
  • 暂估出口收入如何计算
  • 包工包料工程如何计税
  • 百旺金赋服务费可以不交吗
  • 工业会计建账做账流程
  • 获取sqlsession
  • win8系统怎么设置投屏
  • centos破解密码命令
  • 怎么进入win7系统
  • 如何最简单的
  • win8的ie打开马上闪退
  • ubuntu中装虚拟机
  • linux怎么开启root权限
  • centos如何安装yum
  • 注意 Win/WP8.1开发者账户现已迁移到全新Win10开发者中心仪表盘
  • 屏幕适配android常用方法
  • linux命令shell脚本
  • perl 采集入库脚本分享
  • python中urllib.unquote乱码的原因与解决方法
  • javascript的核心语言对象包括
  • 批处理命令读取文件内容
  • python3.5怎么保存
  • unity 设置物体角度
  • unity坐标系转换
  • 阜阳市税务局地址
  • 湖南电子税务局密码错误5次
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设