jsp网站开发具体步骤,网站开发的语言,太原市手机微网站建设,把wordpress变成图床一#xff1a;Android处理Power按键长按操作在Framework层中#xff0c;Android4.x对Power键(KeyEvent.KEYCODE_POWER)的操作#xff0c;我们从PhoneWindowManager开始分析#xff0c;在分析前我这里打印了该方法的堆栈调用信息。大家可以参考一下。public long interceptK…一Android处理Power按键长按操作在Framework层中Android4.x对Power键(KeyEvent.KEYCODE_POWER)的操作我们从PhoneWindowManager开始分析在分析前我这里打印了该方法的堆栈调用信息。大家可以参考一下。public long interceptKeyBeforeDispatching(WindowState win, KeyEvent event, int policyFlags) {......android.util.Log.d(BILL,android.util.Log.getStackTraceString(new Throwable()));......}1-13 19:35:32.458 D/BILL ( 718): java.lang.Throwable01-13 19:35:32.458 D/BILL ( 718):at com.android.internal.policy.impl.PhoneWindowManager.interceptKeyBeforeDispatching(PhoneWindowManager.java:2224)01-13 19:35:32.458 D/BILL ( 718):at com.android.server.wm.InputMonitor.interceptKeyBeforeDispatching(InputMonitor.java:501)01-13 19:35:32.458 D/BILL ( 718):at com.android.server.input.InputManagerService.interceptKeyBeforeDispatching(InputManagerService.java:1383)01-13 19:35:32.458 D/BILL ( 718):at dalvik.system.NativeStart.run(Native Method)调用流程如下(只贴出关键代码)interceptKeyBeforeDispatching()--interceptPowerKeyDown()--mPowerLongPress.run()1public long interceptKeyBeforeDispatching(WindowState win, KeyEvent event, int policyFlags) {......case KeyEvent.KEYCODE_POWER: {result ~ACTION_PASS_TO_USER;if (down) {mImmersiveModeConfirmation.onPowerKeyDown(isScreenOn, event.getDownTime(),isImmersiveMode(mLastSystemUiFlags));if (isScreenOn !mPowerKeyTriggered (event.getFlags() KeyEvent.FLAG_FALLBACK) 0) {mPowerKeyTriggered true;mPowerKeyTime event.getDownTime();interceptScreenshotChord();}ITelephony telephonyService getTelephonyService();boolean hungUp false;if (telephonyService ! null) {try {if (telephonyService.isRinging()) {// Pressing Power while theres a ringing incoming// call should silence the ringer.telephonyService.silenceRinger();/// M: [ALPS00093981] {} else if ((isScreenOn|| mScreenOffReason OFF_BECAUSE_OF_PROX_SENSOR)/// } (mIncallPowerBehavior Settings.Secure.INCALL_POWER_BUTTON_BEHAVIOR_HANGUP) ! 0 telephonyService.isOffhook()) {// Otherwise, if Power button ends call is enabled,// the Power button will hang up any current active call.hungUp telephonyService.endCall();}} catch (RemoteException ex) {Log.w(TAG, ITelephony threw RemoteException, ex);}}interceptPowerKeyDown(!isScreenOn || hungUp|| mVolumeDownKeyTriggered || mVolumeUpKeyTriggered);} else {mPowerKeyTriggered false;cancelPendingScreenshotChordAction();if (interceptPowerKeyUp(canceled || mPendingPowerKeyUpCanceled)) {result (result ~ACTION_WAKE_UP) | ACTION_GO_TO_SLEEP;}mPendingPowerKeyUpCanceled false;}break;}......}注红色为判断长按(down)蓝色为判断短按(up)。2private void interceptPowerKeyDown(boolean handled) {mPowerKeyHandled handled;if (!handled) {mHandler.postDelayed(mPowerLongPress, ViewConfiguration.getGlobalActionKeyTimeout());}}3private final Runnable mPowerLongPress new Runnable() {......case LONG_PRESS_POWER_GLOBAL_ACTIONS:mPowerKeyHandled true;if (!performHapticFeedbackLw(null, HapticFeedbackConstants.LONG_PRESS, false)) {performAuditoryFeedbackForAccessibilityIfNeed();}sendCloseSystemWindows(SYSTEM_DIALOG_REASON_GLOBAL_ACTIONS);showGlobalActionsDialog();break;case LONG_PRESS_POWER_SHUT_OFF:case LONG_PRESS_POWER_SHUT_OFF_NO_CONFIRM:mPowerKeyHandled true;performHapticFeedbackLw(null, HapticFeedbackConstants.LONG_PRESS, false);sendCloseSystemWindows(SYSTEM_DIALOG_REASON_GLOBAL_ACTIONS);mWindowManagerFuncs.shutdown(resolvedBehavior LONG_PRESS_POWER_SHUT_OFF);break;......};注上述代码中下划线即弹出(关机、重启、飞行模式等选项)的对话框。Android Framework层Power键关机流程(二关机流程)二,关机流程 从前一篇博文我们知道,当用户长按Power键时会弹出(关机.重启,飞行模式等选项)对话框,我们点击关机,则会弹出关机确认对话框.那么从选项对话框到关机确认对话框又是一个什么流程呢.下面我 ...怎样从Cplus;plus;代码直接訪问android framework层的WifiService说究竟,Java层的service就是就C层的binder的封装.所以从原理上来讲通过C代码直接訪问android framework层的service是全然可能的,这篇文章以訪问WifiSe ...Android framework层实现实现wifi无缝切换APhttp://www.linuxidc.com/Linux/2013-12/93476.htm Android市场上有一款叫Wifijumper的软件,实现相同ssid的多个AP之间根据wifi信号的 ...Android的NDK开发lpar;5rpar;————Android JNI层实现文件的read、write与seek操作1. 在Android的Java层实现文件的读写操作是非常简单的,可以参看之前写的博文:http://blog.csdn.net/conowen/article/details/7296121 在JN ...如何调试Android FrameworkLinus有一句名言广为人知:Read the fucking source code. 但其实,要深入理解某个软件.框架或者系统的工作原理,仅仅「看」代码是远远不够的.就拿Android Frame ...Android 9period;0 关机流程分析极力推荐文章:欢迎收藏 Android 干货分享 阅读五分钟,每日十点,和您一起终身学习,这里是程序员Android 本篇文章主要介绍 Android 开发中的部分知识点,通过阅读本篇文章,您将收获以 ...Android 屏蔽Power键 Home键Android 屏蔽Power键 Home键 标签: androidpower键Home键PhoneWindowManagerframework 2014-04-18 17:22 1557人阅读 评论 ...【Android】Sensor框架Framework层解读Sensor整体架构 整体架构说明 黄色部分表示硬件,它要挂在I2C总线上 红色部分表示驱动,驱动注册到Kernel的Input Subsystem上,然后通过Event Device把Sensor数 ...Android开发如何定制framework层服务刚刚跨完年,新年第一篇文章,那么今天将对Android开发framework中间层的服务定制使用作个总结.首先我们先导入Android平台源码framework层的代码到开发工具eclipse中,代码 ...随机推荐FZU 2105Digits Countlpar;线段树 plus; 成段更新rpar;Description Given N integers A{A[0],A[1],...,A[N-1]}. Here we have some operations: Operation 1: AN ...深度学习框架 Torch 7 问题笔记深度学习框架 Torch 7 问题笔记 1. 尝试第一个 CNN 的 torch版本, 代码如下: -- We now have 5 steps left to do in training our ...LPTHW 笨办法学python 20章本章节讲述了,函数和文件的综合操作. 分别 执行了.1.读出文件所有内容,2.把文件重置至文件开头.3.打印一行. 我在本节作了一个小小的改良,设置了一个全局变量,记录当前应该输入哪一行,如果执行过一 ...lbrack;Windowsrsqb; 批处理文件系统服务控制在cmd下可有两种方法打开,net和sc. net只能用于用于打开没有被禁用的服务. 启动: net start 服务名 停止: net stop 服务名 sc可打开被禁用的服务. sc config ...lbrack;Neural Networksrsqb; Momentum一.目的 加快参数的收敛速度. 二.做法 另第t次的权重更新对第t1次的权重更新造成影响. 从上式可看出,加入momentum后能够保持权重的更新方向,同时加快收敛.通常alpha的取值为[0.7, ...delphi 线程池基础 TSimplePool1. TSimpleThread 2. TSimpleList 3. 以1,2构成 TSimplePool 用法 先定义: TDoSomeThingThreadclass(TSimpleThread ...mysql 获取一张表中 另一张表不存在的数据编写sql语句中,经常需要编写获取一张数据表中不存在与另一张表的数据,相关编写方法如下: 方法1: 使用not in ,效率低下,在数据较小的情况下可以采用如下编写 SELECT * FROM a A ...JAVA 的输入与输出流当中什么时候该使用字符流什么时候该使用字节流1. InputStream 和OutputStream,两个是为字节流设计的,主要用来处理字节或二进制对象, 2. Reader和 Writer.两个是为字符流(一个字符占两个字节)设计的,主要用来 ...mac电脑读写NTFS格式的移动硬盘命令diskutil info /Volumes/SAMSUNG | grep UUID echo UUID38EBE5E4-016F-44B7-9D55-BB4AF6DC3E1D none ...hihoCoder num;1143 colon; 骨牌覆盖问题num;183semi;一#1143 : 骨牌覆盖问题·一 时间限制:10000ms 单点时限:1000ms 内存限制:256MB 描述 骨牌,一种古老的玩具.今天我们要研究的是骨牌的覆盖问题:我们有一个2xN的长条形棋盘,然 ...