位置: 编程技术 - 正文

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

  • 个税免申报什么时候申报
  • 以旧换新销售商品
  • 劳保用品销售
  • 招聘只招一个人
  • 全年没有超过起征点需要汇算吗
  • 零申报还要抄税吗
  • 钢材贸易公司是做什么的
  • 建筑行业税负率表2023最新
  • 退回多打货款分录
  • 应收账款平均数
  • 跨年的预付账款如何冲销
  • 部分预收账款会计科目
  • 周转材料摊销属于什么费用
  • 去年增值税销项少2元
  • 增值税普票税额
  • 汽车租赁公司怎么赚钱
  • 质量扣款可以放到费用吗
  • 购进建筑服务进项税额
  • 税盘被锁应该怎么办?
  • 金税盘忘记清卡了
  • 公司主要业务介绍
  • 远洋船员如何征收个人所得税?
  • 企业进项发票如何做账
  • 现金日记账对方科目是什么意思
  • 抵扣发票可以在哪里抵扣
  • 企业所得税季报是填累计数吗
  • "专项储备"在合并报表层面如何处理?
  • 2021剑灵什么职业最强
  • 净资产收益率摊薄
  • 增值税发票认证操作流程
  • mac系统10.10
  • win11版本22000.194
  • 一般纳税人接受固定资产投资时相关的科目可能有
  • Win11 Build 22449.1000更新里哪些内容?Win11 Build 22449更新介绍与安装方法
  • 电脑老是弹出广告怎么处理
  • 金融企业呆账核算流程
  • 提示内存不足
  • 怎么更改win7
  • 礼的部首是什么部
  • 事业单位接受捐赠固定资产入账
  • php实现的浏览器有哪些
  • PHP isset()与empty()的使用区别详解
  • javaweb知识点汇总
  • php header refresh
  • 免税是政府补助吗
  • 300秒带你手写一首诗
  • html中写php
  • 购销合同印花税税率
  • 当月增加的房产 要交房产税吗
  • 带薪休假工资怎么扣税的
  • 金税四期对建筑行业有什么影
  • 工程项目辅材占比
  • 销项税怎么做账
  • 加工费发票可以抵扣吗
  • 企业的借款利息费用,扣除标准是?
  • 新契税法商业
  • 现金日记账定金怎么算
  • 机票退票手续费可以开发票吗
  • 参展企业收到展览费用
  • 纳税人虽设置账簿,但账目混乱
  • mssql查找备注(text,ntext)类型字段为空的方法
  • sql server数据库字段类型
  • w10语言栏
  • Win10系统如何开启全部权限
  • linux怎么vi
  • Win10 Mobile/WP8.1优秀专业摄影应用OneShot本周再次更新:修复Bug和优化性能
  • win7旗舰版如何进入bios
  • css fontstyle
  • js动态给table添加行
  • 安卓wifi打不开解决
  • 《JavaScript高级程序设计》pdf链接
  • 容易混淆的词汇
  • Dalvik VM (DVM) 与Java VM (JVM)之间有哪些区别
  • 广东省国家税务局电子税务局官网
  • 小规模纳税人开专票
  • 国税 地税比例
  • 可以去税务局交医社保吗
  • 上海网上申报软件怎样下载
  • 税控发票证书密码是什么
  • 什么是印花税,印花税有哪些特点
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设