Android处理Home键方法小结
来源:互联网 发布:淘宝抢购前1000名半价 编辑:程序博客网 时间:2024/04/30 08:43
昨天需要处理一个问题,需要监听home键。最开始想到使用onKeydonwn这个方法。但是发现home不能这样处理,onKeydonwn可以处理菜单键和back键,但home不能。因为home键是系统键,情况特殊一些。
在2.3版本以下重写下面方法就能重写home键
public void onAttachedToWindow() {
this.getWindow().setType(WindowManager.LayoutParams.TYPE_KEYGUARD);
super.onAttachedToWindow();
}
在4.0以上的版本中需要利用以下方法屏蔽和重写Home键,代码如下:
public static final int FLAG_HOMEKEY_DISPATCHED = 0x80000000; //需要自己定义标志
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
this.getWindow().setFlags(FLAG_HOMEKEY_DISPATCHED, FLAG_HOMEKEY_DISPATCHED);//关键代码
setContentView(R.layout.main);
}
再重写onKey事件即可。
@Override
public boolean onKeyDown( int keyCode, KeyEvent event) {
// TODO Auto-generated method stub
if (keyCode == event. KEYCODE_HOME) {
return true;
}
return super.onKeyDown(keyCode, event);
}
PS:
在AndroidMainfest.xml需要加权限:
<uses-permission android:name = "android.permission.DISABLE_KEYGUARD"/><!-- 屏蔽HOME键需要的权限 -->
在配置文件中,在你使用了Notification的activity中加一个属性android: android:launchMode="singleInstance"
Java代码 :
Xml代码
方法1:onSaveInstanceState方法
下面这个方法可以处理home的监听问题。
Java代码
方法2:onUserLeaveHint方法
Java代码
方法3:ACTION_CLOSE_SYSTEM_DIALOGS
在使用广播监听方面可以使用ACTION_CLOSE_SYSTEM_DIALOGS
Java代码
想要完全监听home键需要在framework层去处理。
/frameworks/base/policy/src/com/android/internal/policy/impl/PhoneWindowManager.java
里面去修改private void handleLongPressOnHome() 这个方法。
Java代码
- Android处理Home键方法小结
- Android处理Home键方法小结
- android处理home键的方法
- android+捕获home键方法
- android+捕获home键方法
- android+捕获home键方法
- android 捕获并处理HOME键
- android 捕获并处理HOME键
- android 捕获并处理HOME键
- android 捕获并处理HOME键
- Android平台Home键处理机制
- android 捕获并处理HOME键
- Android 锁屏键和home键分开处理
- android捕获Home键的方法
- android屏蔽HOME键的方法
- android监听home键的方法
- Android 拦截Home键的常用方法
- Android监听home键的方法
- 正则表达式学习参考
- calabash-android 命令行使用
- c++ primer 学习笔记12--拷贝赋值,销毁
- 存储过程
- 多线程编程复习笔记 进程与线程
- Android处理Home键方法小结
- OSX 10.10“通过inode认证上网”
- linux 下shell 命令资料总结
- 第8题
- RFID系统二进制属性搜索算法是如何解决碰撞的?简述其实现步骤。
- 深入理解javascript原型和闭包(14)——从【自由变量】到【作用域链】
- 用C语言编写的超市商品信息管理系统
- 关于最长上升子序列的算法 简单dp
- JavaScript报错: malformed URI sequence , URI不合法