当前位置:首页 » 安卓系统 » android长按home键

android长按home键

发布时间: 2023-08-12 10:05:53

A. android HOME长按之后的键值是多少

home键在KeyEvent中的键值为3.

ublic static final int KEYCODE_HOME = 3;

当用户按下home键的时候(包括长按),程序会进入到PhoneWindowManager.java类中的public boolean interceptKeyBeforeDispatching(WindowState win, int action, int flags,int keyCode, int scanCode, int metaState, int repeatCount, int policyFlags)这个方法中进行处理。如果用户是连续点击home,此时就要执行长按home事件了。


即执行mHandler.postDelayed(mHomeLongPress,ViewConfiguration.getGlobalActionKeyTimeout());对应的代码。也就会跳转到mHomeLongPress这个Runnable接着往下执行。


interceptKeyBeforeDispatching这个方法位于PhoneWindowManager.java中。


位置为:frameworks.java

(WindowStatewin,intaction,intflags,
intkeyCode,intscanCode,intmetaState,intrepeatCount,intpolicyFlags){
finalbooleandown=(action==KeyEvent.ACTION_DOWN);
...
//4、用户按下home,然后马上释放。此时这个条件成立。将之前postDelayed的事件remove掉。此时就不会执行长按home事件。
if((keyCode==KeyEvent.KEYCODE_HOME)&&!down){
mHandler.removeCallbacks(mHomeLongPress);
}
//5、第一次按下home,mHomePressed为false。
if(mHomePressed){
if(keyCode==KeyEvent.KEYCODE_HOME){
//a、如果用户连续按下home,此时暂时没有up事件。所以就不走这里。
//b、如果用户没有连续按下home,此时过来的是up(move或者http://www.tiecou.com/)事件。即!down为true,执行该方法
if(!down){
mHomePressed=false;
if(!canceled){
booleanincomingRinging=false;
try{
ITelephonytelephonyService=getTelephonyService();
if(telephonyService!=null){
incomingRinging=telephonyService.isRinging();
}
}catch(RemoteExceptionex){
Log.w(TAG,"()",ex);
}

if(incomingRinging){
Log.i(TAG,"IgnoringHOME;there'saringingincomingcall.");
}else{
//单击home处理
launchHomeFromHotKey();
}
}else{
Log.i(TAG,"IgnoringHOME;eventcanceled.");
}
}
}
returntrue;
}

...

//1、第一次处理home按下
if(keyCode==KeyEvent.KEYCODE_HOME){

//Ifasystemwindowhasfocus,thenitdoesn'tmakesense
//.
WindowManager.LayoutParamsattrs=win!=null?win.getAttrs():null;
if(attrs!=null){
finalinttype=attrs.type;
if(type==WindowManager.LayoutParams.TYPE_KEYGUARD
||type==WindowManager.LayoutParams.TYPE_KEYGUARD_DIALOG){
//the"app"iskeyguard,sogiveitthekey
returnfalse;
}
finalinttypeCount=WINDOW_TYPES_WHERE_HOME_DOESNT_WORK.length;
for(inti=0;i<typeCount;i++){
if(type==WINDOW_TYPES_WHERE_HOME_DOESNT_WORK[i]){
//don'tdoanything,butalsodon'tpassittotheapp
returntrue;
}
}
}
//2、第一次按下home,会调用postDelayed发送一个延时处理的操作。同时将mHomePressed置为true。
//如果第5步没有进入if(!down),此时就要执行长按home方法了。
if(down&&repeatCount==0){
if(!keyguardOn){
mHandler.postDelayed(mHomeLongPress,ViewConfiguration.getGlobalActionKeyTimeout());
}
mHomePressed=true;
}
returntrue;
}//其他键的处理
elseif(...){...}

B. 安卓系统的app,我需要它一直在后台运行,我该怎么加锁才可以 关闭其

若是vivo手机,允许软件一直在后台运行 :

1、进入设置--电池--后台耗电管理--对应软件--选择“允许后台高耗电”(部分机型需进入设置--电池--后台高耗电--将对应的软件开启);
2、可以进入i管家--应用管理/软件管理--权限管理--权限--自启动--开启软件的自启权限;
3、进入多任务卡片界面,下拉软件加入到加速白名单;

可以参考设置加速白名单的方法:
OriginOS系统:调出卡片式后台,按住后台软件下滑即可加入白名单;
FuntouchOS10/iQOOUI及以上系统:调出卡片式后台,可按住卡片下拉锁定,也可以点右上角“=”图标--选择锁定;

FuntouchOS10以下系统:先调出快捷栏,然后按住需要设置白名单的软件向下拉,点击该软件上方的锁状图标,该软件即会加入白名单。
注:加入白名单后,后台软件右上角会显示锁状图标。

4、若软件被隐藏了,请把软件取消隐藏或移出原子隐私系统。
注:若是出现因软件异常占用内存,被智慧引擎强行关闭的情况,则是软件自身原因不支持设置。

更多疑惑,可以进入vivo官网--点击我的—在线客服,输入“人工”联系在线客服处理。

C. android手机长按home键能起什么作用

android手机长按home键能起作用的作用有以下几类:

  1. Home键可以说是我们每天使用最多的功能之一,一般我们使用这个按键多数是用于返回主页或调出语音助手等等。

  2. 各个版本的安卓,常按home键,屏幕会出现最近是用过的app程序图标。

  3. 对于安卓4.1来说,则更加明细,即不仅会出现最近用过的aop还会出现,正在后台运行的程序,一个简单的小窗口即可迅速切换到后台程序。

  4. 简单的理解就是,手机home键就是菜单键和主键。

D. androidtv一直在logo画面

长按Home键。
1、首先接通电源,打开androidtv。
2、然后等待机器启动,进入logo界面。
3、最后停止在logo界面,长按Home键返回主菜单即可。

热点内容
滑板鞋脚本视频 发布:2025-02-02 09:48:54 浏览:433
群晖怎么玩安卓模拟器 发布:2025-02-02 09:45:23 浏览:557
三星安卓12彩蛋怎么玩 发布:2025-02-02 09:44:39 浏览:744
电脑显示连接服务器错误 发布:2025-02-02 09:24:10 浏览:537
瑞芯微开发板编译 发布:2025-02-02 09:22:54 浏览:147
linux虚拟机用gcc编译时显示错误 发布:2025-02-02 09:14:01 浏览:240
java驼峰 发布:2025-02-02 09:13:26 浏览:652
魔兽脚本怎么用 发布:2025-02-02 09:10:28 浏览:538
linuxadobe 发布:2025-02-02 09:09:43 浏览:212
sql2000数据库连接 发布:2025-02-02 09:09:43 浏览:726