android长按home键设置的,Android中屏蔽电源键长按、Home键、Home键长按
Android中屏蔽电源键长按、Home键、Home键长按 这几个“按钮”的触发,都会产生一个Action ==Intent.ACTION_CLOSE_SYSTEM_DIALOGS的通知 区分他们三个的不同事件
Android中屏蔽"电源键长按"、"Home键"、"Home键长按"
这几个“按钮”的触发,都会产生一个Action == Intent.ACTION_CLOSE_SYSTEM_DIALOGS的通知
区分他们三个的不同事件的参数,就是随着Intent带过来的reason字符串,分别对应
"电源键长按"(globalscreen)、"Home键"(homekey)、"Home键长按"(recentapps)
说破了就这么简单,直接上代码了。
package com.jumpinus.test;
import android.app.Activity;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.content.IntentFilter;
import android.os.Bundle;
public class MainActivity extends Activity {
private MyBroadCastReceiver myBroadCastReceiver;
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
myBroadCastReceiver = new MyBroadCastReceiver();
}
@Override
protected void onResume() {
// TODO Auto-generated method stub
super.onResume();
IntentFilter intentFilter = new IntentFilter();
intentFilter.addAction(Intent.ACTION_CLOSE_SYSTEM_DIALOGS);
System.out.println("I'm coming, myBroadCastReceiver注册了!");
registerReceiver(myBroadCastReceiver, intentFilter);
}
private class MyBroadCastReceiver extends BroadcastReceiver{
@Override
public void onReceive(Context context, Intent intent) {
//你自己先把 reasons == homekey 和 长按homekey 排除,,剩下的做下面的处理
String reason = intent.getStringExtra("reason");
if (intent.getAction().equals(Intent.ACTION_CLOSE_SYSTEM_DIALOGS)){
System.out.println("Intent.ACTION_CLOSE_SYSTEM_DIALOGS : " + intent.getStringExtra("reason"));
if (intent.getExtras()!=null && intent.getExtras().getBoolean("myReason")){
myBroadCastReceiver.abortBroadcast();
}else if (reason != null){
if (reason.equalsIgnoreCase("globalactions")){
//屏蔽电源长按键的方法:
Intent myIntent = new Intent(Intent.ACTION_CLOSE_SYSTEM_DIALOGS);
myIntent.putExtra("myReason", true);
context.sendOrderedBroadcast(myIntent, null);
System.out.println("电源 键被长按");
}else if (reason.equalsIgnoreCase("homekey")){
//屏蔽Home键的方法
//在这里做一些你自己想要的操作,比如重新打开自己的锁屏程序界面,这样子就不会消失了
System.out.println("Home 键被触发");
}else if (reason.equalsIgnoreCase("recentapps")){
//屏蔽Home键长按的方法
System.out.println("Home 键被长按");
}
}
}
}
}
@Override
protected void onPause() {
// TODO Auto-generated method stub
super.onPause();
System.out.println("I get out, myBroadCastReceiver注销了!");
unregisterReceiver(myBroadCastReceiver);
}
}
效果图:
android长按home键设置的,Android中屏蔽电源键长按、Home键、Home键长按相关推荐
- Android手机电池耐用吗,简单设置使Android手机电池更耐用
一般情况下,Android手机作为智能手机在待机方面的表现上还是很不错的,只是无法达到低端手机那样一个星期的正常待机时间,当然我们可以利用一些简单的使用习惯及设置帮助Android手机更加耐用. 1. ...
- android tween动画平移怎么设置时间,android Tween Animation属性设置方法实例
在Android开发中,Animation是用来给控件制作效果的.大多数的控件都可以用这个类,这个类包含了4种基本动作,分别为移动,旋转,淡入淡出,缩放.在使用Animation时,可以在.java文 ...
- android长按非控件处,Android常用之Butterknife使用详解
Butterknife简介 Butterknife中文又名黄油刀,是 JakeWharton大神开源的一款Android视图的字段和方法绑定快速注解框架.也是Android开发中比较常用的一款快速注解 ...
- android按钮设置下划线,Android开发如何给textView设置下划线或中划线
关键字:android,android开发,下划线,中划线 我们在开发应用的时候,尤其是在做商城项目的时候,需要用到原价格以及降价后的价格,这就不可避免用到中划线或者下划线,在原价格上做一个中划线,这 ...
- android 友盟统计动态设置渠道,Android 友盟多渠道打包
一.简介 为了统计不同渠道上的下载数量及用户活动情况,方便后台做运营统计.我们需要在安装包中添加不同的标识(渠道信息 Channel).多渠道的实现方式多种多样,此篇只实现友盟多渠道打包的方法.友盟多 ...
- python语言的缩进可以采用tab键实现吗_python中使用空格还是使用 Tab键缩进的建议...
对于程序员来说,其实Tab和空格远远不只是"立场"问题那么简单. 在不同的编辑器里tab的长度可能不一致,所以在一个编辑器里用tab设置缩进后,在其它编辑器里看可能缩进就乱了.空格 ...
- 在 JavaScript 中获取对象的第一个键名
本文将演示如何提取对象第一个属性的键(键值对). 目录 1.在JavaScript中获取对象的第一个键名 2.用于object.entries()在JavaScript 中获取对象的第一个键名 3.用 ...
- android长按home键流程
home键在KeyEvent中的键值为3. public static final int KEYCODE_HOME = 3; 当用户按下home键的时候(包括长按),程序会进入 ...
- Android 长按电源键和短按电源键的详细处理流程
1 Android Android4.x在Framework的PhoneWindowManager对Power(KeyEvent.KEYCODE_POWER)和Home(KeyEvent.KEYCOD ...
最新文章
- 部署ArcGIS JS API 离线包(Tomcat与IIS)
- 独家 | 菜鸟级机器学习入门(附代码实例)
- 设置WPF窗口相对于非WPF窗口的位置
- CVE-2015-3636(pingpong root) android内核 UAF漏洞分析
- 微型计算机与接口技术考试题,微机原理与接口技术试题库2
- Struts框架原理分析之我见
- Sitemesh 3 的使用及配置
- 在c++中qsort()排序函数的使用qsort函数应用大全
- WCF简单教程(5) 用IIS做Host
- EevExpress中XtraGrid常用方法
- 通过取父级for循环的i来理解闭包,iife,匿名函数
- Golang——变量和常量详解
- 无连接可靠传输_FPC连接器的特点以及弹片微针模组的作用
- 中国移动也要办电竞大赛了!联合腾讯网易办首届电竞大赛
- 如何使用libxml2库[转]
- 腾讯浏览器(X5WebView的使用)
- UiPath中文教程PDF
- 从辣条国家标准到 java 接口规范
- 比尔·盖茨、UNIX之父等全球14位IT大佬,总结的18句编程名言!
- 5 打印选课学生名单
热门文章
- jupyter入门之图像处理
- 使用 Apriori 算法进行关联分析(机器学习)
- 保护您的企业数据免受.mkp勒索病毒:恢复加密数据库的关键策略
- c++ getpid函数_C Linux中的getpid()和getppid()函数
- 基于web的摩托车销售系统的设计与实现 毕业设计-附源码031706
- Android下载demo
- VS2012没有ADO.NET实体数据模型?解决方法
- 12:Integer to Roman(数字转为罗马数字)
- discuz要什么系统服务器,Discuz! Q安装,服务器要求详细说明
- Android 推送 整合小米、个推、jpush