Android应用中Back键的监听及处理

MainActivity如下:

package cn.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-12-24 11:59:03

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

Android应用中Back键的监听及处理实例_Android

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

Android应用中Back键的监听及处理实例

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

Android中Home键的监听和拦截示例

首先大家应该先了解一种情况,就是Android在应用中是无法拦截Home键的,今天我们带大家看一下Home键的三种情况. 1.在应用中按下Home键的逻辑处理 当我们在应用中按下Home键时界面会启动到桌面,我们在frameworks\base\policy\src\com\android\internal\policy\impl\PhoneWindowManager.Java类中可以看到其实现原理,其不外乎就是调用了以下代码. Intent mHomeIntent; mHomeIntent =

Android对EditTex的图片实现监听_Android

本文为大家分享了EditTex图片实现监听的方法,供大家参考,具体内容如下 第一个例子:对EditText右边的图片进行监听 获取EditText的最右边的x2坐标减去最右边图片的x1坐标点,当点击所在x坐标在于这2个x之间的时候就执行监听事件 final EditText editText = (EditText) findViewById(R.id.zsm); editText.setOnTouchListener(new OnTouchListener() { final int DRAW

android 如何实现屏幕边缘手势监听

问题描述 android 如何实现屏幕边缘手势监听 RT,举例来说就是实现在屏幕的顶部,底部,四个角实现监听,用户滑动后实现相应的 响应.有试过用GestureDetector,但这样需要指定一个view.而我想要的是用service 监听屏幕的区域,在我退出应用之后依然实现监听,请问有什么比较好的办法? 解决方案 参考:http://blog.csdn.net/lzt623459815/article/details/8465575 解决方案二: motionevent里面有常量,EDGE_T

Android ListView里控件添加监听方法的实例详解

Android ListView里控件添加监听方法的实例详解 关于ListView,算是android中比较常见的控件,在ListView我们通常需要一个模板,这个模板指的不是住模块,而是配置显示在ListView里面的东西,今天做项目的时候发现想要添加一个ImageView监听方法,发现崩了,也许是好久没有动ListView竟然忘了不能直接在主UI的xml文件里面调用其他xml文件的控件,哪怕ListView用的是这个xml文件. [错误示范]: 直接调用ImageView这个控件是ListV

java-Jmenuitem中怎么实现鼠标监听

问题描述 Jmenuitem中怎么实现鼠标监听 Jmenuitem里面没有mouseClicked方法 要怎样才能实现鼠标监听 获取鼠标点的那个点的坐标 解决方案 Jmenuitem里面没有监mouse方法 JMenu Scanle=new JMenu(""功能""); Scanle.addMouseListener(new MouseAdapter(){ public void mouseEntered(MouseEvent e){ x=e.getX(); y=e

关于JAVA中事件分发和监听机制实现的代码实例

文章标题:关于JAVA中事件分发和监听机制实现的代码实例 文章地址: http://blog.csdn.net/5iasp/article/details/37054171 作者: javaboy2012 Email:yanek@163.com qq:    1046011462     一.场景假设 假设有博客系统中需要实现如下功能: 系统中用户发布文章,修改文章,删除文章时,需要一些相关的操作需要执行. 发布文章后,给好友发送邮件通知,给用户加积分,对文章做全文索引. 修改文章后,给好友发送

php中Socket创建与监听实现方法_php技巧

本文实例讲述了php中Socket创建与监听实现方法.分享给大家供大家参考.具体如下: 这里提供了在php中socket相关函数的一个实例,如创建Socket,接受一个socket连接 ,写入一个Socket及初始化连接等操作,具体实例代码如下: 复制代码 代码如下: $ip="127.0.0.1";          //定义ip地址 $port=1000;           //定义端口 $socket=socket_create(af_inet,sock_stream,sol_