一、拦截BACK键
一般的应用有两种方法可以获取,当然你也可以修改Framework层代码进行拦截,但这个真的没必要修改。
方法1、重写Activity的onKeyDown方法
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_BACK && event.getRepeatCount() == 0) { //按下的如果是BACK,同时没有重复
//do something ...
return true;
}
return super.onKeyDown(keyCode, event);
}
方法2、重写onBackPressed方法
@Override
public void onBackPressed() {
// 注意:仅适用于2.0或更新版的sdk版本
return;
}
既然一般的应用都可以搞定,而且Android给了标志接口,那就不用修改Framework了。
二、拦截HOME
在以前的版本也可以通过重写Activity的onKeyDown方法(跟BACK键一样)进行拦截,但是后面Android把权限收回了。Android 6.0(其他版本忘记了)以后是不可以拦截HOME键的。因此如果你真的要拦截,那只能修改PhoneWindowManager.java做拦截判断了。
@Override
public long interceptKeyBeforeDispatching(WindowState win, KeyEvent event, int
policyFlags) {
if (keyCode == KeyEvent.KEYCODE_HOME) {
//do something ...
}
}
历史上的今天
暂无评论...
随机推荐
郁达夫:北平的四季
对于一个已经化为异物的故人,追怀起来,总要先想到他或她的好处;随后再慢慢的想想,则觉得当时所感到的一切坏处,也会变作很可寻味的一些纪念,在回忆里开花。关于一个曾经住过的旧地,觉得此生再也不会第二次去长住了,身处入了远离的一角,向这方向的云天遥望一下,回想起来的,自然也同样地只是它的好处。中国的大都...
张爱玲:花落的声音
家中养了玫瑰,没过多少天,就在夜深人静的时候,听到了花落的声音。起先是试探性的一声“啪”,像一滴雨打在桌面。紧接着,纷至沓来的“啪啪”声中,无数中弹的蝴蝶纷纷从高空跌落下来。那一刻的夜真静啊,静得听自己的呼吸犹如倾听涨落的潮汐。整个人都被花落的声音吊在半空,尖着耳朵,听得心里一惊一惊的,像听一个正...
adb 重启Android framework
前言Android调试时,有序需要修改系统的属性。使用adb shell setprop xxxx 后,重启机器后就恢复了。然后实际中,有些属性如果没重启,会遇到属性值在代码中不生效,重启后,属性值又还原的问题。比如SurfaceView的一个日志打印DEBUG开关,通过adb改变debug...
彼得.B.巴赫:失去爱人的滋味
布宜诺斯艾利斯的街灯要比纽约的街灯暗得多,这是我们在阿根廷的半年里最深刻的体会。我们租用的车子老旧,车身落满了这座城市的灰尘,前挡风玻璃更加遮蔽了射进来的光。当我们驾车离开当地医院,在第一个路口等红灯时,我打破了我对露丝许下的两个最重要的结婚誓言:第一,我以一个医生的口吻和她说了话;第二,我欺骗了她...
吴念真:年糕
阿旺和我读同一个小学,低我两个年级,所以之前我并不认识他,不过他倒知道我,因为小学时代我是学校升降旗典礼的司仪。遇见他的时候,我已经十七岁,他十五岁,两个人都已经在台北工作了。阿旺做事的铁工厂和我住的地方其实就在同一条巷子里,只是没碰过面,直到有一天房东叫铁工来装铁窗,扛着铁架的小助手看看我,...
Android属性动画
前言本文主要介绍Android属性动画。这个是之前看《Android进阶之光》记录的,摘抄于此,方便自己查阅。正文早期Android提供的动画只有帧动画和 View 动画 ,后面Android 3.0后就出现了属性动画。在介绍属性动画前,也重新认识一下View动画的优缺点吧,反正谁好用简单...