Android应用中返回键的监听及处理

MainActivity如下:

package com.testnbackpressed;
import android.os.Bundle;
import android.view.KeyEvent;
import android.app.Activity;
/**
 * Demo描述:
 * 处理Back键按下事件
 *
 * 注意事项:
 * 以下两种方法勿一起使用
 */
public class MainActivity extends Activity { 

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
    }
    /**
     * 监听Back键按下事件,方法1:
     * 注意:
     * super.onBackPressed()会自动调用finish()方法,关闭
     * 当前Activity.
     * 若要屏蔽Back键盘,注释该行代码即可
     */
    @Override
    public void onBackPressed() {
        super.onBackPressed();
        System.out.println("按下了back键   onBackPressed()");
    } 

   /**
    * 监听Back键按下事件,方法2:
    * 注意:
    * 返回值表示:是否能完全处理该事件
    * 在此处返回false,所以会继续传播该事件.
    * 在具体项目中此处的返回值视情况而定.
    */
    @Override
    public boolean onKeyDown(int keyCode, KeyEvent event) {
        if ((keyCode == KeyEvent.KEYCODE_BACK)) {
             System.out.println("按下了back键   onKeyDown()");
             return false;
        }else {
            return super.onKeyDown(keyCode, event);
        } 

    } 

    @Override
    protected void onDestroy() {
        super.onDestroy();
        System.out.println("执行 onDestroy()");
    }    

}

main.xml如下:

<RelativeLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    > 

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="对于Back键的两种处理方法"
        android:layout_centerInParent="true"
        android:textSize="20sp"
   /> 

</RelativeLayout>

  

时间: 2024-10-14 03:54:06

Android应用中返回键的监听及处理的相关文章

[转]Android应用中返回键的监听及处理

用户在点击手机的返回按钮时,默认是推出当前的activty,但是有时用户不小心按到返回,所以需要给用户一个提示,这就需要重写onkeydown事件,实现的效果如下: 标签:    Android SDK 代码片段(2) [全屏查看所有代码] 1. [图片] 截图 2. [代码][Java]代码     跳至                         [2]     [全屏预览] ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21

【Android】各式各样的弹出框与对菜单键、返回键的监听

Android自带各式各样的弹出框,弹出框也是安卓基本的组件之一.同时安卓程序可以对菜单键.返回键的监听,但在安卓4.0之后就禁止对Home键的屏蔽与监听,强制保留为系统守护按键,如果非要对Home键的屏蔽与监听,就会出现java.lang.IllegalArgumentException: Window type can not be changed after the window is added.的错误. 下面写一个小程序,来说明Android各式各样的弹出框,同时,安卓是如何对菜单键.

TabActivity 返回键 onBackPressed 监听 dispatchKeyEvent 监听

TabActivity 返回键 onBackPressed 监听  dispatchKeyEvent 监听 早上碰到TabActivity 返回键的监听事件,出现各种问题.瞎忙了一早上,最后google兼看文档终于找到解决的办法.下面结合别人,解决办法:我们知道,在普通的Activity中可以重写onKeyDown(intkeyCode, KeyEventevent)方法对手机按键进行监听,而当要监听的Activity为TabActivity时(其实ListActivity也一样),这个方法并不

(七)android开发中两种方式监听短信的原理和实现

一.监听短信的两种方式的简介 Android程序开发中,有两种方式监听短信内容:一.接收系统的短信广播:二.应用观察者模式,监听短信数据库. 第一种方式接收系统的短信广播: A.这种方式只对新收到的短消息有效,运行代码,并不会读取收件箱中已读或未读的消息,只有当收到新来的短消息时,才会执行onReceive()方法. B.并且这个广播是有序广播,如果当别的程序先读取到了这个广播,然后拦截掉了个这个广播,你将接收不到.当然我们可以通过设置priority的数值,其实有时是不管用的,现在在一些定制的

【Android】使用Intent调用系统其它程序,使用onKeyDown对音量键的监听,长按事件

Intent在安卓编程中非常常见,在<[Android]多个Activity之间利用bundle传递数值>(点击打开链接)中已经展示了它可以唤醒其它Activity并在Activity之间传递数据.其实Intent的作用远非于此,它还可以调用系统中其它固有程序,比如拨打电话.发送短信等.onKeyDown也是如此,不仅仅可以对设备的菜单键进行监听,这在<[Android]各式各样的弹出框与对菜单键.返回键的监听>(点击打开链接)中已经展示过的,对设备的音量调节键也是可以监听的, 下

android的Home键的监听封装工具类(一)

android的Home键的监听封装: 1 package com.gzcivil.utils; 2 3 import android.content.BroadcastReceiver; 4 import android.content.Context; 5 import android.content.Intent; 6 import android.content.IntentFilter; 7 8 /** 9 * Home键监听封装 10 * 11 */ 12 public class

ios中键值编码kvc和键值监听kvo的特性及详解

总结: kvc键值编码  1.就是在oc中可以对属性进行动态读写(以往都是自己赋值属性)           2. 如果方法属性的关键字和需要数据中的关键字相同的话                  3. 动态设置:setValue:属性值 forKey:属性名(用于简单的路径)/setValue:属性值 forKeyPath:属性名(用于复杂的路径)kvo键值监听  永久性的监听item属性值的改变,如果改变就从新设置             1.监听方法:[addObserver:self

KVO键值监听

KVO 键值监听:当我想知道一个对象的属性是否发生改变的时候 做出响应,就需要添加监听keypath 和 key的区别keypath会自动寻找子类的属性key只会寻找当前类的属性添加键值监听[person addObserver:self forKeyPath:@“属性” options:.....] 当键值发生改变的时候调用-(void)obserValueForKeyPath:(NSString ) 底层实现:运行的时候 创建一个当前类的子类,重写子类的set方法 系统 建立了一个子类,然后

如何为JOPtionPane的showConfirmDialog对话框中的按钮设置监听

最近刚学了java图形界面编程,想独立写个记事本,过程当中想要为对话框中的按钮设置监听,但是查看了一下api也没找到相应的方法,只找到这个: Returns: an integer indicating the option selected by the user showConfirmDialog这个方法只返回一个int值来标识用户选择了哪一个按钮.找了半天也没找到设置监听的方法..... 就在这时.....灵光一闪~~~~ 很多方法在正常情况下是返回0的,非正常情况返回-1. 于是我就用如