【Android】Android处理Home键方法小结
实验几次之后(android4.1 和android4.2)发现在单个的activity里面有以下几个方法可以使用:
方法1:onSaveInstanceState方法
下面这个方法可以处理home的监听问题。
protected void onSaveInstanceState(Bundle outState)
但这个方法不是很好,不推荐
方法2:onUserLeaveHint方法
@Override
protected void onUserLeaveHint() {
Log.d("aeon","onUserLeaveHint");
super.onUserLeaveHint();
}
这个方法会在onSaveInstanceState之前执行,根据api的解释,这个方法还比较合适的。
方法3:ACTION_CLOSE_SYSTEM_DIALOGS
在使用广播监听方面可以使用ACTION_CLOSE_SYSTEM_DIALOGS
//注册Receiver
HomeKeyEventBroadCastReceiver receiver = new HomeKeyEventBroadCastReceiver();
registerReceiver(receiver, new IntentFilter(
Intent. ACTION_CLOSE_SYSTEM_DIALOGS));
方法4:framework PhoneWindowManager.java 处理
想要完全监听home键需要在framework层去处理。
/frameworks/base/policy/src/com/android/internal/policy/impl/PhoneWindowManager.java
里面去修改private void handleLongPressOnHome() 这个方法。
只要把handleLongPressOnHome里面做出相对应的处理就ok
【Android】Android处理Home键方法小结的更多相关文章
- Android处理图片OOM的若干方法小结 (推荐)
众所周知,每个Android应用程序在运行时都有一定的内存限制,限制大小一般为16MB或24MB(视平台而定).因此在开发应用时需要特别关注自身的内存使用量,而一般最耗内存量的资源,一般是图片.音频文 ...
- Html5 监听拦截Android返回键方法详解
浏览器窗口有一个history对象,用来保存浏览历史. 如果当前窗口先后访问了三个网址,那么history对象就包括三项,history.length属性等于3. history对象提供了一系列方法, ...
- android 点击返回键退出程序的方法
android 点击返回键退出程序的方法 第一种: 再按一次返回键退出程序 private long exitTime = 0; @Override public boolean onKeyDown( ...
- android 实现返回键执行home键方法
在公司的产品开发,中老板很是执着于,不要看到启动界面,但是又不想去掉启动界面. so 实现返回键执行home键方法. public boolean onKeyDown(int keyCode, Key ...
- Android监听返回键、Home键+再按一次返回键退出应用
Android监听返回键需重写onKeyDown()方法 Home键keyCode==KeyEvent.KEYCODE_HOME @Override public boolean onKeyDown( ...
- Android应用中返回键的监听及处理
MainActivity: package com.testnbackpressed; import android.os.Bundle; import android.view.KeyEvent ...
- Android之ContextMenu的使用方法以及与OptionMenu的区别
>> ContextMenu是android的context menu上下文菜单,选择某项VIEW后长按menu键,就会显示出来.比如EditeText就可以通过长按来弹出拥有“cut”, ...
- Android应用中Back键的监听及处理
MainActivity如下: package cn.testnbackpressed; import android.os.Bundle; import android.view.KeyEvent; ...
- android点击返回键,如何做到不destory当前activity,只是stop。重新返回该activity的 时候可以直接使用,不需要创建新的activity实例
问题描述,如题目: android点击返回键,顺序执行 pause,stop,destory. 以至于想重新进入这个activity的时候还要重新执行onCreate()方法,那么如何解决不再重新执行 ...
随机推荐
- MinGW GCC 6.3.0 2017年3月份出炉啦
MSYS_MinGW-w64_GCC_630_x86-x64_Full 发布日期: 2017-03-07 08:48 68264 KB 下载地址: http://xhmikosr.1f0.de/too ...
- web@HTML常用标签分类,标签嵌套规则
一.html标签又叫做html元素,它分为块级元素和内联元素(也可以叫做行内元素),都是html规范中的概念.1.块级元素块级元素是指本身属性为display:block;的元素.因为它自身的特点,我 ...
- Zookeeper-Watcher机制与异步调用原理
转载于:http://shift-alt-ctrl.iteye.com/blog/1847320 Watcher机制:目的是为ZK客户端操作提供一种类似于异步获得数据的操作. 1)在创建Zookeep ...
- 转载:Eureka 开发时快速剔除失效服务
原文地址:https://www.cnblogs.com/flying607/p/8494568.html 服务端配置: # 关闭保护机制 eureka.server.enable-self-pres ...
- mysql生成数据字典
git clone https://github.com/twindb/undrop-for-innodb.git make [root@redis01 undrop-for-innodb]# mak ...
- C语言实现程序跳转到绝对地址0x100000处执行
嵌入式笔试题:想让程序跳转到绝对地址0x100000处执行,该如何做? 请详细解释一下所给的答案: 网上看到有如下答案: *((void(*)(void))0x100000)(); 经过在VC++6. ...
- 随机函数rand()和srand()
C++中随机函数rand()和srand()的用法 一.rand() 函数名: rand 功 能: 随机数发生器 用 法: int rand(void); 所在头文件: ...
- UVA 11796
题意: 有两个狗, 按照 多边形跑,不知道两条狗的速度,但是狗是同时出发,同时到达终点的 输出两条狗的 最大相距距离 - 最小相距距离: 思路 : 用物理的相对运动来计算, 每次只计算 两条狗的直线 ...
- Android 各种路径详细说明
存储分类: 内部存储路径, 内部缓存存储路径, 外部存储路径, 外部缓存存储路径 在有些手机上内部划出一个内部的sdcard路径和内部存储路径,当有sdcard时候,就有了六个路径 内部存储空间中的应 ...
- windows.open()
引:Window_Open详解一.window.open()支持环境:JavaScript1.0+/JScript1.0+/Nav2+/IE3+/Opera3+ 二.基本语法:window.op ...