`

Android在程序中捕捉HOME键的方法

 
阅读更多

默认情况下,重写onKeyDown方法是无法捕捉到HOME键的,原因不太清楚,不过我想是因为系统也在捕捉HOME键,而且优先级比我们的程序要高.我们可以通过修改窗口类型来达到我们的目的.
首先重写onAttachedToWindow方法:

@Override
	public void onAttachedToWindow() {
		// TODO Auto-generated method stub
		super.onAttachedToWindow();
		this.getWindow().setType(WindowManager.LayoutParams.TYPE_KEYGUARD);
                        //设置窗口类型
	}

 onAttachedToWindow 在API文档中英文原文解释:Called when the main window associated with the activity has been attached to the window manager.在主窗口被关联到被附加到窗口管理器的Activity时调用,其实说得模糊点应该就是在Activity启动时调用的.加了这个后,在UI上有点小变化,如果你的Activity不是占满全屏的(AlertDialog样式),默认情况下是会显示Activity下面的窗口的(没有被遮住的部分),但是加了这个以后,Activity以外的空间是全黑的.
然后就可以在onKeyDown里捕捉到了:

@Override
	public boolean onKeyDown(int keyCode, KeyEvent event) {
		// TODO Auto-generated method stub
 
		if(keyCode==KeyEvent.KEYCODE_HOME){
			System.out.println("按到HOME键");
			return false;
		}
		return super.onKeyDown(keyCode, event);
	}

 

分享到:
评论

相关推荐

    Android监听home键的方法详解

    在Android开发中,有时我们需要监听用户的操作,例如当用户按下Home键时执行特定的操作。本文将详细介绍如何在Android中监听Home键的点击事件,并提供一种可靠的方法,即通过注册广播接收器来实现。 首先,我们要...

    在Unity中捕捉Android的常用按钮返回事件

    在上面的代码中,我们创建了一个名为`AndroidBackButtonHandler`的脚本,该脚本在`Update()`方法中检查当前运行平台,并在Android平台上监听返回键的按下。当返回键被按下时,`HandleBackButton()`方法会被调用,你...

    Android Home键监听的实现代码

    - 通常,直接使用键盘事件监听方法(如`dispatchKeyEvent`)是无法捕捉Home键的,因为Home键的监听被系统内部机制所封装。 2. **使用广播(Broadcast)监听Home键**: - 广播机制在Android中允许应用程序接收来自...

    键盘常用丝印功能介绍.pdf

    在Windows系统中,Alt键也扮演了重要的角色,如Alt+Tab用于切换应用程序窗口,Alt+F4用于关闭当前窗口等。此外,Windows特有的快捷键还有WIN+H用于共享、WIN+K用于连接投影仪、WIN+I用于进入设置等。 无论是哪种...

    Android应用源码之UseIntentRebackHomeSample.zip

    【Android应用源码之UseIntentRebackHomeSample.zip】是一个包含Android应用源代码的压缩包,主要用于演示如何在Android应用程序中实现使用Intent来返回主屏幕的功能。在这个项目中,开发者可能探讨了Android Intent...

    Android Studio入门指南

    此外,Android Studio内置了一套强大的分析工具,它们可以帮助开发者捕捉性能、易用性和版本兼容性等方面的问题,从而让开发者在开发过程中可以及时发现并修正潜在问题,确保应用程序的稳定和高效。 Android Studio...

    Android面试系列—目录

    Android程序支持多屏幕与国际化 - **多屏幕支持**:通过定义不同的资源文件来适应不同屏幕尺寸和密度。 - **国际化**:为不同语言和地区提供资源文件。 #### 45. 避免内存泄露的方法 - **弱引用**:使用弱引用代替...

    Android监听前后台切换

    6. **LifecycleObserver**(自Android Architecture Components库):引入Lifecycle库,可以创建一个实现了LifecycleObserver接口的类,并在`onStateChanged()`方法中处理前后台状态的变化。这种方式适用于使用现代...

    android截图

    在Android操作系统中,屏幕截图是记录和分享手机或平板设备屏幕上内容的重要功能。"android截图"这个主题涵盖了许多与Android设备截取、管理和分享屏幕快照相关的知识点。下面将详细介绍这些方面: 1. **基本操作**...

    电信设备-一种屏幕截图方法及移动终端.zip

    例如,大多数Android设备可以通过同时按下电源键和音量下键来截取屏幕,而iOS设备则通常需要同时按下顶部电源键和Home键(对于无Home键的iPhone,则是电源键与音量键的组合)。这些方法在“一种屏幕截图方法及移动...

    電機四 張家銓 第四次報告

    根据给定的信息,我们可以总结以下关于“开发Android程序进行图像捕捉”的相关知识点: ### 开发环境与工具 1. **JDK1.6**: Java Development Kit(Java开发工具包),用于构建Java应用程序的基础软件包。 2. **...

    Android利用手势完成屏幕密码锁功能

    在Android开发中,实现一个通过手势完成屏幕密码锁功能是一项颇受欢迎的需求,既能够提升用户体验,也增强了应用程序的安全性。本文将详细解析如何利用Android提供的GestureOverlayView组件来创建一个简单的手势密码...

    截屏小程序

    - iOS和Android系统:电源键+Home键(iPhone 8及以下)或电源键+音量键(iPhone X及以后,Android设备)。 2. 第三方软件: - Snipping Tool(Windows):提供多种截图模式,包括自由形状截图。 - Greenshot...

    Android 开机直接运行app并当做手机桌面的实例

    在 onReceive 方法中,我们创建了一个 Intent 对象,用于启动我们的应用程序的主 Activity,并将其添加到 FLAG_ACTIVITY_NEW_TASK 标志中,以便在新的任务中启动 Activity。 在 AndroidManifest.xml 文件中,我们...

    寻找bug方法研究

    临界值点测试则关注边界条件,例如,在首次加载桌面时持续按home键,或在特定情况下桌面报错。 隐蔽功能交互测试关注那些不常用或不易察觉的功能交互,例如,停用系统应用后再启动,或者在特定网络环境下进行升级。...

    截图工具截图工具截图工具截图工具

    而在iOS设备上,只需同时按住电源键和Home键(对于无Home键的iPhone,则为电源键和音量键)。 除了系统自带的截图工具,第三方截图软件如 Greenshot、ShareX、Snagit 等提供了更丰富的功能,如自动保存、云存储、...

Global site tag (gtag.js) - Google Analytics