Android 的监听Home键

有使用到,所以就记下来,免得以后会忘记掉

 1 public class HomeListener extends BroadcastReceiver {
 2     private static final String LOG_TAG = "HomeReceiver";
 3     private static final String SYSTEM_DIALOG_REASON_KEY = "reason";
 4     private static final String SYSTEM_DIALOG_REASON_RECENT_APPS = "recentapps";
 5     private static final String SYSTEM_DIALOG_REASON_HOME_KEY = "homekey";
 6     private static final String SYSTEM_DIALOG_REASON_LOCK = "lock";
 7     private static final String SYSTEM_DIALOG_REASON_ASSIST = "assist";
 8
 9     @Override
10     public void onReceive(Context context, Intent intent) {
11         String action = intent.getAction();
12         Log.i(LOG_TAG, "onReceive: action: " + action);
13         if (action.equals(Intent.ACTION_CLOSE_SYSTEM_DIALOGS)) {
14             // android.intent.action.CLOSE_SYSTEM_DIALOGS
15             String reason = intent.getStringExtra(SYSTEM_DIALOG_REASON_KEY);
16             Log.i(LOG_TAG, "reason: " + reason);
17
18             if (SYSTEM_DIALOG_REASON_HOME_KEY.equals(reason)) {
19                 // 短按Home键
20                 Log.i(LOG_TAG, "homekey");
21
22             }
23             else if (SYSTEM_DIALOG_REASON_RECENT_APPS.equals(reason)) {
24                 // 长按Home键 或者 activity切换键
25                 Log.i(LOG_TAG, "long press home key or activity switch");
26
27             }
28             else if (SYSTEM_DIALOG_REASON_LOCK.equals(reason)) {
29                 // 锁屏
30                 Log.i(LOG_TAG, "lock");
31             }
32             else if (SYSTEM_DIALOG_REASON_ASSIST.equals(reason)) {
33                 // samsung 长按Home键
34                 Log.i(LOG_TAG, "assist");
35             }
36
37         }
38     }
39 }

然后程序中开始位置,注册广播

1 HomeListener mHomeKeyReceiver = new HomeListener();
2  final IntentFilter homeFilter = new IntentFilter(Intent.ACTION_CLOSE_SYSTEM_DIALOGS);
3        this.registerReceiver(mHomeKeyReceiver, homeFilter);
时间: 2024-10-21 00:32:04

Android 的监听Home键的相关文章

[转]Android 如何监听返回键,弹出一个退出对话框

本文转自:http://blog.csdn.net/sunnyfans/article/details/8094349 Android 如何监听返回键点击事件,并创建一个退出对话框, 防止自己写的应用程序不小心点击退出键而直接退出.自己记录下这个简单的demo,备用. 注:如下代码当时是从网上copy过来的,现在忘了它出自哪个原作者了,在此说声抱歉. 源码如下: [html] view plaincopyprint? public class BackKeyTest extends Activi

大叔也说Xamarin~Android篇~监听返回键,单击返回某个webView,双击退出

原文:大叔也说Xamarin~Android篇~监听返回键,单击返回某个webView,双击退出 这个操作在原生android里是很容易实现的,在xamarin里也不难,在activity里有方法OnKeyDown,我们只需要重写一下就可以了,然后通过webView重新加载到要返回的页面即可,当然操作有些死板,但还是有着不错的效果! 实现的原理就是在activity里设置一个时间,单击后把这个时间赋值并与当前时间进行比较,如果在2秒内,就认为是双击操作,当然这个时间间隔你可以自己设置,在认为是双

Android WindowManager 监听返回键及home键

一.监听home键盘,Android Home键系统负责监听,捕获后系统自动处理.有时候,我们需要监听home键处理自己的逻辑,监听方法如下: /** * 监听home键广播 */ private final static BroadcastReceiver homeListenerReceiver = new BroadcastReceiver() { final String SYSTEM_DIALOG_REASON_KEY = "reason"; final String SYS

Android 如何监听返回键,弹出一个退出对话框

Android 如何监听返回键,弹出一个退出对话框 分类: 初级android2012-10-21 00:46 48472人阅读 评论(9) 收藏 举报 androiddialogbuttonclass Android 如何监听返回键点击事件,并创建一个退出对话框, 防止自己写的应用程序不小心点击退出键而直接退出.自己记录下这个简单的demo,备用. 注:如下代码当时是从网上copy过来的,现在忘了它出自哪个原作者了,在此说声抱歉. 源码如下: [html] view plaincopy <EM

Android下监听Home键

网上看到demo,亲测了以下机器和设备,均测试通过: 测试通过的手机: 1.华为荣耀3(Android 4.2.2) 2.小米2s(Android 4.1.1) 3.联想的手机 (Android2.3.5) 4.Google Nexus 5模拟器(Android 4.4.2) 核心代码: import android.content.BroadcastReceiver; import android.content.Context; import android.content.Intent;

android 如何监听返回键

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

Android 监听返回键退出程序的两种实现

1.Android 双击返回键退出程序 思路:用户按下返回键时设定一个定时器来监控是否2秒内实现了退出,如果用户没有接着按返回键,则清除第一次按返回键的效果,使程序还原到第一次按下返回键之前的状态.定时器是每次用户按下返回键才去创建. 代码如下: /** * 菜单.返回键响应 */ @Override public boolean onKeyDown(int keyCode, KeyEvent event) { // TODO Auto-generated method stub if(keyC

Android监听Home键的完美解决方案

相信有不少朋友在开发过程中需要监听HOME键的需求,现本人将代码奉上,希望对大家有所帮助! import android.content.BroadcastReceiver; import android.content.Context; import android.content.Intent; import android.content.IntentFilter; public class HomeWatcher { private static final String TAG = "

Android 监听Home键

游戏需要统计用户退出游戏是按的返回键还是home,因为返回键是自己cocos2dx做的监听,所以这里说一下android Activity里监听Home键方法,亲测可用,这里做个备份其中也是参考别人的代码实现的,路径没有记住,如有雷同,望见谅-- 这里使用的是广播的形式监听Home操作的方法: 首先在MainActivity里添加如下广播,生成一个成员变量:  private final BroadcastReceiver homeReceiver = new BroadcastReceiver