位置: 编程技术 - 正文

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新手入门)

  • 息税前利润变动率的计算公式
  • 个人独资企业需要交什么税
  • 月末计提无形资产的折旧
  • 10个税点怎么计算公式
  • 市场推广费属于广告费用吗
  • 员工出差的住宿费计入什么科目
  • 差旅费应纳入社保缴费基数吗?
  • 个人所得税中的股息红利应纳税额
  • 营改增后如何计算税金
  • 工资预支怎么做账,影响个税吗?
  • 抵税必须要有发票
  • 补偿金满一年不满一年半
  • 母公司并购子公司需要股东会决议吗
  • 建筑单位的工作岗位有哪些
  • 还有主营业务收入这个科目
  • 财务报表申报完可以修改吗
  • 自购自销金银首饰应纳消费税如何处理?
  • 购进货物不能抵扣进项税额
  • 多发工资未退回会怎么样
  • 房产税如何进行计提
  • 银行收付款凭证是什么
  • 12315投诉饿了吗有用吗
  • typecho 插件开发
  • 土地增值税清算管理规程
  • 其他费用的账务处理
  • 交易性金融资产属于什么科目
  • 喝薏米红豆水最佳时间
  • php封包
  • 免税需要什么条件
  • 已计提的存货跌价准备计入成本吗
  • 违约金开什么票据
  • typescript4.1
  • 安装和配置eclipse集成开发环境
  • 公司注销实收资本退回需要交税吗
  • 酒店会计科目及账务处理视频
  • 软件增值税即征即退网上备案
  • 事业单位收入入账
  • js读取数据文件
  • js原型链的用处
  • 毛利的计算公式为
  • centos7.9 防火墙
  • 接待客户的住宿费计入什么科目
  • 会员退费会计分录
  • 私车公用维修费用谁出
  • 调转会计证需要什么资料
  • 税务登记如何办理
  • 人力资源劳务外包需要什么资质证书
  • 包装就是包装物
  • 符合规定的国内旅客运输发票可以作为扣税凭证吗
  • 公司维修费计入什么科目
  • 公司买车抵税最新政策2022购置税减半享受不?
  • 什么是品种法?适用于什么范围?
  • 红冲发票后如何申报增值税
  • 农产品免税收入需要缴纳所得税吗
  • 住宿费的进项税额
  • 增值税发票未认证丢失怎么办
  • 采用现销方式销售商品的会计分录
  • windows vista升级
  • linux ./执行
  • winde.exe - winde进程是什么意思
  • mac 的 safari 浏览器
  • xp开机启动项在哪里设置方法
  • 苹果mac 最新系统
  • win7设置宽带拨号
  • bootstrap表单模板
  • js创建类对象的方法
  • Python随机生成均匀不重复的数
  • Node.js中的什么模块是用于处理文件和目录的
  • 手把手教你使用opc
  • angularjs1.5
  • js折叠展开特效
  • js 函数写法
  • 网页全屏是哪个键
  • bootstrap-treeview自定义双击事件实现方法
  • 深圳国家税务总局
  • 北京摇号摇中了能过户吗
  • 广东省职称证书编号查询系统
  • 棚户区改造的房子和商品房有什么区别
  • 广西纳税申报流程
  • 什么是美国注册商标
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设