首页 > 编程知识 正文

微信对话框下面多了一排选项,安卓手机长按关机和音量键

时间:2023-05-03 22:48:31 阅读:137741 作者:1915

因为有客户需要更改关机时间,所以我们研究了整个关机过程。

当用户长按power键时,系统将调用PhoneWindowManager.java下的interceptKeyBeforeQueueing函数。

publicintinterceptkeybeforequeueing (keyevent event,int policyFlags ) {

.

case keyevent.keycode _ power : {

result=~ACTION_PASS_TO_USER;

isWakeKey=false; //wake-upwillbehandledseparately

if(down ) {

互联网(event,interactive );

} else {

interceptpowerkeyup(event,interactive,canceled );

}

布雷克;

}

.

}

interceptPowerKeyDown发送MSG_POWER_LONG_PRESS以消除浅色眼睛/pprivatevoidinterceptpowerkeydown (keyevent event,booleanintint )

.

if (! mPowerKeyHandled ) {

交互{ if }

//When interactive,we're already awake。

//waitforalongpressorforthebuttontobereleasedtodecidewhattodo。

haslongpressonpowerbehavior () () ) )。

message msg=mhandler.obtain message (msg _ power _ long _ press;

MSG.setasynchronous(true;

mhandler.sendmessage delayed (msg,

viewconfiguration.get(mcontext ).getdeviceglobalactionkeytimeout;

}

} else {

weupfrompowerkey (event.get down time );

finalintmaxcount=getmaxmultipresspowercount (;

if(maxcount=1) {

mPowerKeyHandled=true;

} else {

mBeganFromNonInteractive=true;

}

}

}

.

}

privateclasslgdsbextendshandler {

@Override

公共消息(消息msg )。

.

case MSG_POWER_LONG_PRESS:

powerLongPress (;

布雷克;

.

}

powerLongPress根据用power键设置的值执行相应的代码

private void powerLongPress (

finalintbehavior=getresolvedlongpressonpowerbehavior (;

开关(behavior ) {

case long _ press _ power _ nothing :

布雷克;

case long _ press _ power _ global _ actions :

mPowerKeyHandled=true;

if (! performhapticfeedbacklw(null,hapticfeedbackconstants.long _ press,false ) }

performauditoryfeedbackforaccessibilityifneed (;

}

showGlobalActionsInternal (

布雷克;

case long _ press _ power _ shut _ off :

case long _ press _ power _ shut _ off _ no _ confirm 3360

mPowerKeyHandled=true;

performhapticfeedbacklw(null,hapticfeedbackconstants.long _ press,false );

sendclosesystemwindows (system _ dialog _ reason _ global _ actions;

mwindowmanagerfuncs.shut down (behavior==long _ press _ power _ shut _ off );

布雷克;

}

}

power长按执行代码在config.xml中设定

1

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。