监听Home和Back物理按键的学习总结

监听Home和Back物理按键的学习总结

写一些功能需要监听手机上的Home键和Back键,鉴于本人是小白,就靠度娘呗。不过学习的过程最总要嘛!~

  • 首先要明白Home键和Back键在什么时候去调用什么方法
    1.先从简单一些的Back键入手吧
    Android的程序无需刻意的去退出,当你一按下手机的back键的时候,系统会默认调用程序栈中最上层Activity的Destroy()方法来销毁当前Activity,当此Activity又被其它Activity启动起来的时候,会重新调用OnCreate()方法进行创建,当栈中所有Activity都弹出结束后,应用也就随之结束了.如果说程序中存在service之类的,则可以在恰当的位置监听处理下也就可以了.
    Back键就是后退到上一层的,生命周期的流程是:
    onPause->onStop->onDestroy->onCreate->onStart->onResume
@Override
        public boolean onKeyDown(int keyCode, KeyEvent event) {
            // TODO Auto-generated method stub
        if (keyCode==KeyEvent.KEYCODE_BACK) {
            return true;
        }
            return false;
        }

这样手机的Back键就给屏蔽了,把这段代码放在你所需要的页面当中就行了
- 但是Home键不是那么好屏蔽的,所以我们要想想其他的办法去解决这个问题
Android程序的隐藏,当你按下手机的Home键的时候,系统会默认调用程序栈中最上层Activity的stop()方法,然后整个应用程序都会被隐藏起来,当你再次点击手机桌面上应用程序图标时,系统会调用最上层Activity的OnResume()方法,此时不会重新打开程序,而是直接进入,会直接显示程序栈中最上层的Activity.(也不想去底层搞,太烦)

(用了许多的有关闹钟的app后,发现有个好的方法去避免home键。毕竟Home键只是调用stop()的方法,如果按下Home键之后不去管它了。去用别的应用的,这时我们应该去怎么处理呢?)

我们去用了别的应用,那就肯定要占内存啊。内存不够肯定要把其他的程序给干掉~~~那么我们的应用在stop中肯定会被干掉了。。。

对于闹钟,还有一个“贪睡模式”!可以往后延迟几分钟的。所以,在用户按下Home键之后。用户不去点击删除,不把数据库的删除,那就还有那条数据,就可以设置为几分钟之后再次响铃。除非用户双清了,那也没办法,只能等再次进入的时候,显示已经过期的闹钟了。

所以,至此我的Home键还是没有去处理。哈哈哈,没办法。我是渣渣。
欢迎大神告诉我怎么去处理~~

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值