`
学不止
  • 浏览: 237945 次
  • 性别: Icon_minigender_1
社区版块
存档分类
最新评论

android4.0以上监听home(屏蔽home或做其他操作)

阅读更多

android 4.0以后无法通过更改页面的类型来监听home键了。如果不改源码的情况下,下面的方式可以很好的监听到home键(前提是手机打系统日志,有些手机日志被关闭了(如华为荣耀)就无法监听了)。

 protected void onResume()
    {
        super.onResume();
        isTesting=true;
        new CatchLogThread().start();
    }
class CatchLogThread extends Thread {  
     @Override  
      public void run() {  
          Process mLogcatProc = null;  
          BufferedReader reader = null;  
           String line;  
           while (isTesting) {  
               try {  
                 // 获取logcat日志信息   
                   mLogcatProc = Runtime.getRuntime().exec(new String[] { "logcat", "ActivityManager:I *:S" });  
                   reader = new BufferedReader(new InputStreamReader(mLogcatProc.getInputStream()),2*1024);  
                   while ((line = reader.readLine()) != null) {  
                       if (line.indexOf("android.intent.category.HOME") > 0) {  
                           isTesting = false;  
                           System.out.println("DDDDDDDDDDDDDDDDDDDDDDDDD");
                           handler.sendMessage(handler.obtainMessage());   
                         Runtime.getRuntime().exec("logcat -c");//删除日志   
                          break;  
                      }   
                  }  
               } catch (Exception e) {  
                   e.printStackTrace();  
               }  
           }  
      }  
    };  
Handler handler = new Handler() {  
       public void handleMessage(android.os.Message msg) {
           
           startActivity(new Intent(MainActivity.this,MainActivity.class));
           Toast.makeText(MainActivity.this, "I Have Home is pressed!!!!!",Toast.LENGTH_LONG).show();
           System.out.println("Home is Pressed+++++++++++++++++");
        };   
   };  

 

以上是全部精华代码。要对home键按下后做操作可以在handler中进行。希望可以帮助到一些冥思苦想而不得解的人。

最后记得在AndroidManifest.xml中加读取日志权限:

<uses-permission android:name="android.permission.READ_LOGS"></uses-permission>

1
1
分享到:
评论
2 楼 q316085319 2015-03-11  

可以参考一下该文章:http://www.glmei.cn/?p=30354
1 楼 poplarni 2012-10-19  
请问想 屏蔽home键怎么做阿 ,谢谢哦 

相关推荐

    android 4.0以上屏蔽Home键

    然而,在某些特殊的应用场景下,开发者可能需要屏蔽或禁用Home键的功能,比如在游戏或者全屏应用中,为了提供更好的用户体验或者防止意外退出。在Android 4.0(API级别14)及以上版本中,虽然系统不再支持直接禁用...

    屏蔽android4.0以上home按键。

    标题提到的"屏蔽android4.0以上home按键"是一个关于如何在Android 4.0及以上版本中阻止Home键功能的技术问题。 首先,我们需要了解Android系统的权限和API等级。Android 4.0(API级别14)引入了一些新特性,而...

    android 4.0 上的HOME 键捕获

    ### Android 4.0 (ICS)上的Home键捕获实现详解 #### 背景介绍 在Android开发中,为了提升用户体验或者实现某些特定的功能需求,开发者有时会希望能够捕获到用户按下Home键的行为。例如,在一个应用内,开发者可能...

    android4.0版本以上对Home键从底层拦截操作

    在Android 4.0(Ice Cream Sandwich)及更高版本中,开发者可以实现对Home键的底层监听和拦截操作,这是为了提供更丰富的用户体验和应用程序控制能力。本文将深入探讨这一功能,包括其实现原理、代码解析以及实际...

    Android4.0以上外接鼠标-左键单击-右键捕获单击事件Demo

    Android4.0以上外接鼠标-左键单击-右键单击-捕获事件Demo; 网上没有这样的Demo,例子非常简单,节约下载者查询相关资料的时间。 如果用在ListView里面,只要在自定义的Adapter里面设置该监听事件;并在Activity的...

    android4.0 日历源码

    以上是对"android4.0 日历源码Calendar"的关键知识点的概述。通过深入研究这些内容,开发者可以更好地理解和定制Android日历功能,提升用户体验。同时,对源码的熟悉也有助于解决系统级别的问题和进行定制化开发。

    android4.0网络编程详解——源码

    对于Android 4.0,你需要安装最新的Android Studio,选择对应的API级别(如API 14或更高)来创建项目。确保安装了Android SDK,并在模拟器或真实设备上配置好运行环境。此外,理解AndroidManifest.xml文件中关于网络...

    Android4.0网络编程详解.pdf

    以上便是关于Android 4.0网络编程的知识点。对于任何使用Android 4.0进行应用开发的人来说,理解和掌握这些知识点是必不可少的,它们可以确保开发的应用能够有效地执行网络操作,并提供良好的用户体验。

    Android4.0扩展库实现左右滑动效果(一)

    在Android应用开发中,左右滑动效果是一种常见的交互方式,特别是在列表或页面切换时。本文将探讨如何在Android 4.0(API级别14)中实现这种效果,主要涉及自定义视图和触摸事件处理。 首先,我们需要理解Android中...

    android4.0 Setting设置 源代码

    7. **权限管理**:在Android 4.0中,Setting应用还需要处理权限相关的操作,例如请求或检查权限,以便为用户提供合适的设置选项。 通过分析和学习Setting模块的源代码,开发者不仅可以了解如何构建设置界面,还能...

    android4.0蓝牙收发数据demo

    以上就是构建一个基本的Android 4.0蓝牙数据收发DEMO的关键步骤。在实际开发中,你还需要处理各种异常情况,如连接超时、无响应等,同时为了提高用户体验,可以添加进度提示、错误处理等机制。这个DEMO可以作为理解...

    android4.0 Gallery相册 源代码

    在Android 4.0(API级别14)版本中,Gallery已经被废弃,取而代之的是更强大的GridView和RecyclerView。尽管如此,深入理解Gallery的源代码仍然对开发者来说具有一定的价值,尤其是对于那些需要对旧版应用进行维护或...

    Android4.0开发学习之ImageButton

    在Android 4.0中,`ImageButton`还支持触摸反馈效果,可以通过设置`android:tint`属性或使用`android:foreground`属性来改变图像的颜色或者添加前景效果。同时,你可以利用`android:scaleType`调整图像在按钮中的...

    Android 4.0网络编程详解

    《Android 4.0网络编程详解》一书深入探讨了在Android 4.0系统上进行网络编程的技术细节与实践方法。此版本的Android系统,即Ice Cream Sandwich(冰淇淋三明治),带来了许多网络功能上的改进和新特性,使得开发者...

    Android4.0.x Home键事件拦截监听的方法

    本篇文章将详细讲解如何在Android 4.0.x版本中实现Home键事件的拦截监听,并对比Android 2.3.x的实现方法。 首先,我们来看在Android 2.3.x版本中常见的Home键事件拦截方法。开发者通常会在`onAttachedToWindow()`...

    Android 4.0 Launcher2 源码 Eclipse版

    【Android 4.0 Launcher2 源码 Eclipse版】是一个专门为Android 4.0 (Ice Cream Sandwich)系统设计的启动器源代码,适合开发者深入理解Android系统的桌面启动器工作原理,以及进行自定义开发。这个源代码版本是为...

    Android 4.0下指南针开发源码,可在Nexus 4上完美运行

    - 尽管本项目特别提到在Nexus 4上运行良好,但仍需确保代码兼容其他Android 4.0及更高版本的设备。这涉及到对不同屏幕尺寸、硬件性能和系统版本的适配。 综上所述,开发Android 4.0下的指南针应用涉及传感器交互、...

    Android 4.0 Launch源代码

    在Android操作系统的发展历程中,Android 4.0(代号Ice Cream Sandwich,简称ICS)是一个重要的里程碑,它为用户界面带来了重大改进,同时也对开发者提供了更多高级功能。其中,"Android 4.0 Launch"指的是启动器...

    Android 4.0 Launcher系统源码

    Android 4.0 Launcher系统源码是Android操作系统中桌面启动器的重要组成部分,它负责管理主屏幕、应用快捷方式、小部件以及桌面布局等用户界面。深入理解这部分源码对于开发者来说,有助于定制个性化启动器或者优化...

    android4.0 launcher源码

    Android 4.0 Launcher源码解析 Android 4.0(Ice Cream Sandwich,简称ICS)是Google推出的一个重要版本,其Launcher作为用户与系统交互的主界面,扮演着至关重要的角色。Launcher2是该版本中默认的桌面启动器,它...

Global site tag (gtag.js) - Google Analytics