01 |
private final BroadcastReceiver homePressReceiver = new BroadcastReceiver() { |
02 |
final String SYSTEM_DIALOG_REASON_KEY = "reason"; |
03 |
final String SYSTEM_DIALOG_REASON_HOME_KEY = "homekey"; |
05 |
public void onReceive(Context context, Intent intent) { |
06 |
String action = intent.getAction(); |
07 |
if (action.equals(Intent.ACTION_CLOSE_SYSTEM_DIALOGS)) { |
08 |
String reason = intent.getStringExtra(SYSTEM_DIALOG_REASON_KEY); |
09 |
if (reason != null && reason.equals(SYSTEM_DIALOG_REASON_HOME_KEY)) { |
然后在onreate()方法中,注册
1 |
final IntentFilter homeFilter = new IntentFilter(Intent.ACTION_CLOSE_SYSTEM_DIALOGS); |
2 |
registerReceiver(homePressReceiver, homeFilter); |
当然最后为了程序的严谨性也是为了防止出错,我们在onDestory()方法中,也要解除注册
1 |
if(homePressReceiver != null){ |
3 |
unregisterReceiver(homePressReceiver); |
4 |
} catch (Exception e) { |
5 |
Log.e(TAG, "unregisterReceiver homePressReceiver failure :"+e.getCause()); |
2,电源监听,先要有权限
1 |
<uses-permission android:name="android.permission.WAKE_LOCK" /> |
然后监听两个action
01 |
Intent.ACTION_SCREEN_OFF |
02 |
Intent.ACTION_SCREEN_ON |
03 |
private final BroadcastReceiver mBatInfoReceiver = new BroadcastReceiver() { |
05 |
public void onReceive(final Context context, final Intent intent) { |
06 |
final String action = intent.getAction(); |
07 |
if (Intent.ACTION_SCREEN_OFF.equals(action)) { |
13 |
IntentFilter filter = new IntentFilter(Intent.ACTION_SCREEN_OFF); |
14 |
registerReceiver(mBatInfoReceiver, filter); |
16 |
if(mBatInfoReceiver != null){ |
18 |
unregisterReceiver(mBatInfoReceiver); |
19 |
} catch (Exception e) { |
20 |
Log.e(TAG, "unregisterReceiver mBatInfoReceiver failure :"+e.getCause()); |
- Android 开发 监听back并且执行home键功能
方法一: 在activity中重写onBackPressed()方法 ,注意此处一定要注释或者删除 super.onBackPressed();方法 @Override public void onB ...
- Android 如何监听返回键,弹出一个退出对话框
android 如何监听返回键点击事件,并创建一个退出对话框, 防止自己写的应用程序不小心点击退出键而直接退出.自己记录下这个简单的demo,备用. public class BackKeyTest ...
- [转]Android 如何监听返回键,弹出一个退出对话框
本文转自:http://blog.csdn.net/sunnyfans/article/details/8094349 Android 如何监听返回键点击事件,并创建一个退出对话框, 防止自己写的应用 ...
- android应用程序监听SMS Intent广播
当设备接收到一条新的SMS消息时,就会广播一个包含了android.provider.Telephony.SMS_RECEIVED动作的Intent. 对于应用程序监听SMS Intent广播,首先需 ...
- Android onKeyDown监听返回键无效
当我们的Activity继承了TabActivity,在该类中重写onKeyDown是监听不到返回键的, 具体解决方法如下: 重写dispatchKeyEvent /** * 退出 */ @Overr ...
- Android如何监听蓝牙耳机的按键事件
写在前面: 直接想要代码很简单,你直接把滚动条拉到最底端就可以看到.如果想要十分地了解为什么,那就按照我规划的一步一步来理解.以下测试环境以手头上有的「Bluedio + 红米手机」. 1.蓝牙耳机的 ...
- Android如何监听蓝牙耳机的按键事件(转)
源: Android如何监听蓝牙耳机的按键事件 写在前面: 直接想要代码很简单,你直接把滚动条拉到最底端就可以看到.如果想要十分地了解为什么,那就按照我规划的一步一步来理解.以下测试环境以手头上有的「 ...
- Android怎样监听蓝牙耳机的按键事件
Android怎样监听蓝牙耳机的按键事件 写在前面: 直接想要代码非常easy,你直接把滚动栏拉到最底端就能够看到.假设想要十分地了解为什么,那就依照我规划的一步一步来理解.下面測试环境以手头上有的「 ...
- Android 如何监听输入法关闭事件
假设有如下界面(输入法的上面的输入区域是用Dialog实现的) 要求当输入法关闭的时候,Dialog也一起关闭,这样用户就不需要返回两次了. 网上找了很多资料都没有很好的解决这个问题,输入法是第三方程 ...
随机推荐
- Spring 远程服务
稍微看了一下Spring的远程服务章节,讲到了RMI,Hessian,Burlap,Http invoker以及JAX-WS 1.RMI 原理: 1)在Spring服务端使用RmiServiceExp ...
- Objective-C:动态绑定
// Complex.h // 03-动态绑定 // // Created by ma c on 15/8/11. // Copyright (c) 2015年. All rights reserve ...
- Informatica 常用组件Lookup之九 配置未连接的查找转换
在映射中,未连接的查找转换与管道是分开的.您可以使用 :LKP 引用限定符编写表达式以调用其它转换中的查找.未连接查找的常用用法包括: 测试表达式中某个查找的结果 基于查找结果过滤行 基于查找的结果将 ...
- hdu3117之矩阵快速幂
Fibonacci Numbers Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others ...
- python环境搭建-Pycharm模块安装方法
不懂直接看图顺序操作: 方法一: 方法二:
- Android数字选择器-NumberPicker
数字选择器NumberPicker是Android3.0之后引入的一个控件,比较常用,比如说手机常用的闹钟,可以选择小时和分钟,如果你需要兼容3.0之前版本,GitHub上有开源的项目,具体的下载地址 ...
- 升级iOS10后http网页定位失效解决方案
最近我们在做项目时遇到这样一个新问题,用户在升级 iOS10 后,在 http 下使用 geolocation api 会报错,控制台输出 [blocked] Access to geolocatio ...
- Gson解析复杂Json数据
背景 json是一种数据格式,便于数据传输.存储.交换. gson是 ...
- 【Linux学习】Ubuntu下内核编译(一)
(1)当要运行内核配置时,输入make menuconfig时出现错误 遇到这个问题,主要是以为没有ncurses库,而make menconfig 须要这个库.因此须要安装ncurses或者ncur ...
- 开源 免费 java CMS - FreeCMS1.9 会员权限管理
项目地址:http://www.freeteam.cn/ 会员权限管理 管理会员可使用的权限.会员在使用某一特定功能时,如投稿.可依据此会员所在会员组是否有投稿权限来决定会员能否够使用投稿功能. 1. ...