监听Home键和锁屏键
看代码:
import com.ucoupon.uplus.MyApplication;
import com.ucoupon.uplus.utils.LogUtils;import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
/*** Home键和锁屏监听* Title: HomeWatcherReceiver.java* @author wang* 2016年4月25日* @version 1.0*/
public class HomeWatcherReceiver extends BroadcastReceiver {
// private static final String LOG_TAG = "HomeReceiver";private static final String SYSTEM_DIALOG_REASON_KEY = "reason";private static final String SYSTEM_DIALOG_REASON_RECENT_APPS = "recentapps";private static final String SYSTEM_DIALOG_REASON_HOME_KEY = "homekey";private static final String SYSTEM_DIALOG_REASON_ASSIST = "assist";@Overridepublic void onReceive(Context context, Intent intent) {String action = intent.getAction();LogUtils.log_e("action......", action);if (action.equals(Intent.ACTION_CLOSE_SYSTEM_DIALOGS)) {String reason = intent.getStringExtra(SYSTEM_DIALOG_REASON_KEY);LogUtils.log_e("reason......", reason);if (SYSTEM_DIALOG_REASON_HOME_KEY.equals(reason)) {// 短按Home键MyApplication.setUpMap = true;LogUtils.log_e("home", "短按Home键");} else if (SYSTEM_DIALOG_REASON_RECENT_APPS.equals(reason)) {// 长按Home键 或者 activity切换键LogUtils.log_e("home", "长按Home键");} else if (SYSTEM_DIALOG_REASON_ASSIST.equals(reason)) {// samsung 长按Home键LogUtils.log_e("home", "samsung长按Home键");}}if(action.equals(Intent.ACTION_SCREEN_ON)){LogUtils.log_e("lock", "Screen is on");}else if(action.equals(Intent.ACTION_SCREEN_OFF)){LogUtils.log_e("lock", "Screen is off");MyApplication.setUpMap = true;}}}
在MainActivity中添加代码:
private HomeWatcherReceiver receiver;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);registerHomeKeyReceiver();}
// 注册锁屏监听private void registerHomeKeyReceiver() {receiver = new HomeWatcherReceiver();final IntentFilter filter = new IntentFilter();filter.addAction(Intent.ACTION_SCREEN_ON);filter.addAction(Intent.ACTION_SCREEN_OFF);filter.addAction(Intent.ACTION_CLOSE_SYSTEM_DIALOGS);registerReceiver(receiver, filter);LogUtils.log_e("注册监听", "注册监听");}// 取消锁屏监听private void unregisterHomeKeyReceiver() {if (null != receiver) {unregisterReceiver(receiver);}LogUtils.log_e("取消注册监听", "取消注册监听");}
销毁
@Overrideprotected void onDestroy() {super.onDestroy();unregisterHomeKeyReceiver();}
监听Home键和锁屏键相关推荐
- Android监听是否点击了home键或者锁屏键
public class MainActivity extends Activity {@Overrideprotected void onCreate(Bundle savedInstanceSta ...
- 监听系统开屏、锁屏、解锁、按下home键、按下多任务键【未完待续】
ScreenReceiverUtil工具类 /*** Author : 马占柱* E-mail : mazhanzhu_3351@163.com* Time : 2021/9/22 9:40* Des ...
- Android Home键、锁屏键监听
一.代码实现如下 /*** @author 郭翰林* @date 2018/10/31 0031 10:04* 注释: 锁屏按钮和Home键监听*/ public class ScreenBroadc ...
- iOS开发 区分Home键和锁屏键事件
转载自: https://a1049145827.github.io/2018/01/06/iOS%E5%BC%80%E5%8F%91-%E5%8C%BA%E5%88%86Home%E9%94%AE% ...
- 摩托罗拉ME525搜索键改锁屏键
ME525的搜索键说真的是比较烂的设计,几乎用不上 备忘,也许下次重刷用的上... 步骤一:必须 root,然后使用 RE 步骤二:找到文件:system/usr/keylayout,然后打开编辑 步 ...
- Android监听锁屏键、Home键
项目用到了,记录下,返回键什么的物理按键使用onKeyDown监听就可以了,但是锁屏键.Home键不可以,这里使用广播监听两者状态变化 IntentFilter片段: mFilter.addActio ...
- Android中监听电源键长按、Home键、Home键长按
Android中监听"电源键长按"."Home键"."Home键长按" 这几个"按钮"的触发,都会产生一个Action ...
- Android 锁屏键和home键分开处理
在做视频直播的时候遇到一个问题,就是Android锁屏状态下与home键状态下SurfaceView的生命周期发生的改变是不相同的. 因为home键与锁屏的时候activity都会走onPause() ...
- iphone4锁屏键坏了图文教你修复
iphone4锁屏键坏了图文教你修复 来源:互联网 作者:佚名 时间:03-07 16:18:30 [大 中 小] iphone4锁屏键经常使用,所以坏的可能性是很大而且不在少说,接下来为你详细分享一 ...
最新文章
- 李飞飞最新访谈:我每天都在对AI的担忧中醒来
- build的时候出错,fatal error LNK1103
- Jetpack Compose学习笔记
- 调查预测:云部署将于2018年中迎来小高峰
- 供应链 信用管理 大数据_智慧供应链大数据技术架构方案(ppt)
- 《[深入浅出 C#] (第3版)》 - 学习笔记
- java安装路径_java环境变量和查看安装路径
- kendoui固定宽度_KendoUi 学习笔记(二) Grid
- OpenJDK和Java API区别_Linux下的JDK和OpenJDK有什么具体的区别
- 你还记得珠算的口诀吗?
- 开放地址法开放地址法
- VAE-变分自编码器-Auto-Encoding Variational Bayes-详细推导
- 串口转发工具 串口屏调试神器 PC串口监视神器
- 工资计算系统设计实现
- 记一次使用verdaccio 搭建本地私有npm服务器
- python输出矩阵_python输出矩阵
- mac版 IGV(版本2.12.3)安装
- java flightrecorder_java 11 Java Flight Recorder
- java正则完美匹配注释_匹配Email邮箱的正则表达式(完美经典)
- php 打印数组格式化,php 打印数组格式化显示