大家好,欢迎来到杜光的博客:http://blog.csdn.net/duguang77  (分享==快乐)

------------------------------------------------------------------------------------------------------------------------------------------------------------------------

之前看网上介绍捕捉Home键的方法:

在按键中KeyEvent.KEYCODE_BACK返回键是可以直接监听的,但Home键是在framework监听,那么监听Home的方法就是:
第一:在Activity中加入,重写onAttachedToWindow,以实现屏蔽Home键.
@Overridepublic void onAttachedToWindow() {this.getWindow().setType(WindowManager.LayoutParams.TYPE_KEYGUARD);super.onAttachedToWindow();}
第二在按键监听中加入Home键处理代码。

但是这种方法在模拟器中是可以被捕捉到的,但是到真机上是不行的!!

------------------------------------------------------------------------------------------------------------------------------------------------------------------------

今天我给大家介绍一种简单又能捕获到Home键的方法:

大家都知道Back键和Home键的区别

按Back键会执行Activity中的Finish()方法,而按Home只是执行到Activity的onStop()为止,程序会切换到后台,重新调用程序后会执行onStart();方法

下面我就贴出Demo的代码,大家一看即明白

public class MainActivity extends Activity {private boolean isFinish;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);initdata();}private void initdata() {isFinish = false;}@Overrideprotected void onStart() {Toast.makeText(this, "亲,短暂的失去你,我又回到了你的怀抱!", 1).show();super.onStart();}@Overrideprotected void onStop() {//isFinish = false; 则表明程序被切换到后台或按了home键//isFinish = true;  则表明程序被杀掉或者按下back键退出了if (!isFinish) {Toast.makeText(this, "亲,你按了Home键,不想要我了么!", 1).show();}super.onStop();}@Overridepublic void finish() {isFinish = true;super.finish();}}

备注:有些手机按Home键后不会执行onStop方法();

Android编程心得---捕捉Home键事件的完美解决方法相关推荐

  1. Android Studio 导入项目运行按钮灰色的完美解决方法

    今天导入项目的时候突然发现编译后运行按钮为灰色. 解决方案: 第一步:点击图中的Add Configuration,出来如下界面 在这里插入图片描述 第二步:点+号,并选择Android App选项 ...

  2. android编程:调节视频画面分辨率,Android编程实现屏幕自适应方向尺寸与分辨率的方法...

    本文实例讲述了Android编程实现屏幕自适应方向尺寸与分辨率的方法.分享给大家供大家参考,具体如下: Android 屏幕自适应方向尺寸与分辨率,包括屏幕界面布局.多分辨率支持.获取屏幕尺寸.屏幕横 ...

  3. android 图片绑定按钮,Android编程实现给Button添加图片和文字的方法

    本文实例讲述了Android编程实现给Button添加图片和文字的方法.分享给大家供大家参考,具体如下: //为按钮添加图片和文字的方法 public Spanned getSpan(int id, ...

  4. android 提供的方法,Android编程之创建自己的内容提供器实现方法

    本文实例讲述了Android编程之创建自己的内容提供器实现方法.分享给大家供大家参考,具体如下: 我们学习了如何在自己的程序中访问其他应用程序的数据.总体来说思 路还是非常简单的,只需要获取到该应用程 ...

  5. android获取spinner的值_在Android的Spinner中实现键值对的正确方法是什么

    这是在Android中为Spinner实现键值对的正确方法吗? package com.mypackage import android.app.Activity; import android.os ...

  6. android中计算日期差,Android编程实现根据不同日期计算天数差的方法

    本文实例讲述了Android编程实现根据不同日期计算天数差的方法.分享给大家供大家参考,具体如下: Calendar cal1 = getCalendarFromDate(mStartDate); l ...

  7. android点击展开内容,Android编程实现Listview点击展开和隐藏的方法

    在android的开发中,listview是应用最广泛的组件之一.虽然已经启动了recycleview,但许多项目仍在使用listview,爱站技术频道小编给大家带来了Android编程实现Listv ...

  8. android支付宝余额怎么做,android编程实现类似于支付宝余额快速闪动效果的方法...

    本文实例讲述了android编程实现类似于支付宝余额快速闪动效果的方法.分享给大家供大家参考,具体如下: 效果如下: 此图片不会动,但实际上是会快速跳动的. 之前看到有支付宝的效果非常牛逼.就是进去看 ...

  9. php网站怎么打包成apk,Android编程实现webview将网页打包成apk的方法

    本文实例讲述了Android编程实现webview将网页打包成apk的方法.分享给大家供大家参考,具体如下: 功能非常简单,而且乍一看没什么特别大的用处,因为实际上就是浏览器而已...但如果说网页一开 ...

最新文章

  1. 人工智能科普|自然语言处理(NLP)
  2. 求x0时,y=x^3-6x^2+15的极值
  3. Python 【微视】短视频的自动上传与发布实例演示,同时支持抖音、快手、哔哩哔哩、小红书、西瓜视频、微信视频号等平台的视频自动化同步发布
  4. 中国大学MOOC 人工智能导论第五章测试
  5. hadoop启动后,9000端口无法连接,netstat -tpnl中找不到该端口
  6. IOS开发之日期时间格式化字符说明
  7. gstreamer插件用不了,及黑名单Blacklist的解决办法
  8. 教你恢复电脑被删的照片或视频,方法实用可收藏
  9. 安卓版Qinmei 追番必备神器 缓冲快
  10. 开发者将《午夜凶铃》与 ARKit 结合,把贞子带到你面前
  11. Android开发技术周报 Issue#8
  12. alienware Win8 系统安装
  13. cadence电阻在哪个库_cadence元件库介绍
  14. android应用统计获取api,APICloud
  15. python 画ks曲线_Ks密度曲线分布图绘图
  16. 干货 | Web前端优化及工具集锦
  17. ibm服务器面板显示,IBM System x服务器前面板指示灯说明(新版)
  18. JBuilderX使用Ant读书笔记
  19. Protected Sky黑名单移除攻略
  20. Python:实现sobel边缘检测算法(附完整源码)

热门文章

  1. 全球及中国四象限光电探测器行业发展模式及投资需求潜力预测报告2021年版
  2. USB转串口线的极限波特率
  3. 运维之道 | 三剑客之sed命令 - 增删改查排
  4. php版本:实现过滤掉广告、色情、政治相关的敏感词
  5. 编程语言C/C++(一)
  6. android检测usb存储,android 监听检测USB存储设备
  7. SwiftUI小技巧之TextField文字自动调整大小(2020基础教程)
  8. 跨境电商新手卖家指南
  9. 秒懂系列,深入理解Java反射机制
  10. 反碎片化技术(外部碎片)的原理