完美实现 感应距离让手机自动息屏 防止用户误触界面

 private void initSensor() {mManager = (SensorManager) getSystemService(Context.SENSOR_SERVICE);// 获取系统服务POWER_SERVICE,返回一个PowerManager对象localPowerManager = (PowerManager) getSystemService(Context.POWER_SERVICE);// 获取PowerManager.WakeLock对象,后面的参数|表示同时传入两个值,最后的是LogCat里用的TaglocalWakeLock = this.localPowerManager.newWakeLock(32, "MyPower"); // 第一个参数为电源锁级别,第二个是日志taglocalWakeLock.setReferenceCounted(false);}
 private void registerSensorListener() {mManager.registerListener(this, mManager.getDefaultSensor(Sensor.TYPE_PROXIMITY), // 距离感应器SensorManager.SENSOR_DELAY_NORMAL); // 注册传感器,第一个参数为距离监听器,第二个是传感器类型,第三个是延迟类型}private void unregisterSensorListener() {if (mManager != null) {if (localWakeLock.isHeld()) {localWakeLock.release();// 释放电源锁,如果不释放finish这个acitivity后仍然会有自动锁屏的效果,不信可以试一试}mManager.unregisterListener(this); // 注销传感器监听}}
 @Overridepublic void onSensorChanged(SensorEvent event) {float[] its = event.values;// Log.d(TAG,"its array:"+its+"sensor type :"+event.sensor.getType()+" proximity type:"+Sensor.TYPE_PROXIMITY);if (its != null && event.sensor.getType() == Sensor.TYPE_PROXIMITY) {System.out.println("its[0]:" + its[0]);// 经过测试,当手贴近距离感应器的时候its[0]返回值为0.0,当手离开时返回1.0if (its[0] == 0.0) { // 贴近手机LogUtil.e(TAG, "hands up in calling activity");if (localWakeLock.isHeld()) {return;} else {localWakeLock.acquire();// 申请设备电源锁}} else { // 远离手机LogUtil.e(TAG, "hands moved in calling activity");if (localWakeLock.isHeld()) {return;} else {localWakeLock.setReferenceCounted(false);localWakeLock.release(); // 释放设备电源锁}}}}@Overridepublic void onAccuracyChanged(Sensor sensor, int accuracy) {}
public class DialogActivity extends Activity implements SensorEventListener{@Overrideprotected void onCreate(@Nullable Bundle savedInstanceState) {super.onCreate(savedInstanceState);LogUtil.e(TAG, "onCreate");initSensor();}@Overrideprotected void onResume() {LogUtil.e(TAG, "onResume");super.onResume();registerSensorListener();}@Overrideprotected void onDestroy() {LogUtil.e(TAG, "onDestroy");super.onDestroy();unregisterSensorListener();}

Android 手机距离感知器 代码实现相关推荐

  1. android备份手机号码,Android手机通讯录备份还原代码

    最近想写段Android程序玩玩.开发环境 Eclipse ,Android 2.2 开发环境搭建 1.先安装jdk 2.下载安装eclipse 3.下载安装android sdk 4.安装eclip ...

  2. 值得推荐的 5 大 Android 手机密码解锁器

    大多数 Android 用户使用唯一密码来保护他们的手机和重要数据.因此,忘记密码并被锁定在手机之外可能会令人沮丧.在这种情况下,使用安卓手机密码解锁器来解决问题是一个明智的选择.本文将介绍2023 ...

  3. android 歌词同步代码,android手机音乐播放器实现歌词同步

    最近在做一款android手机上的音乐播放器,学习到了很多东西,像是Fragment,ActionBar的使用等等,这里就先介绍一下歌词同步的实现问题. 歌词同步的实现思路很简单:获取歌词文件LRC中 ...

  4. 旧android手机当播放器,android手机立即变无线移动终端播放器 Qloud media 详细教程...

    Ubuntu终端播放器-mocp    作为Linux企业应用管理和维护,常需要putty远程连接维护服务器.Python开发. private void play(long position)// ...

  5. android 锁机代码‘’,android手机锁机txt代码

    所需权限: 复制代码代码如下: 复制代码代码如下: //锁屏.唤醒相关 private KeyguardManager km; private KeyguardLock kl; private Pow ...

  6. android建立电话拨号器代码,Android编写电话拨号器

    一.实现步骤 1.需要创建拨号意图 Intent intent = new Intent(); intent.setAction(Intent.ACTION_CALL); intent.setData ...

  7. android手机应用字体颜色代码,安卓手机字体颜色修改教程

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 先说好哦 我只是搬运而已 没这么强大的技术 反编译framework-res.apk 得到framework-res文件夹! 修改里面的文件, 找到(如何 ...

  8. android手机通讯录备份还原代码,android手机通讯录备份还原代码

    最近想写段android程序玩玩. 开发环境 eclipse ,android2.2 开发环境搭建 1.先安装jdk 2.下载安装eclipse 3.下载安装android sdk 4.安装eclip ...

  9. android手机通讯录备份还原代码,安卓手机误删联系人恢复及备份技巧总汇

    原标题:安卓手机误删联系人恢复及备份技巧总汇 现在很多手机都不再提供将联系人存入SIM卡中的功能了,所以如果你还习惯性的将联系人储存在手机内存当中,一旦手机丢失或者手机数据遗失,那么少则几十动辄几百的 ...

最新文章

  1. java中数组的复制
  2. Java学习总结:23
  3. c语言逐步搜索法求有根区间,[C语言第五章.ppt
  4. 让win7系统高速运行的优化技巧
  5. luogu4074-[WC2013]糖果公园
  6. hdu5062 简单题
  7. MATLAB 最大对角矩阵
  8. 一个故事讲清楚BIO NIO 异步
  9. 在TOMCAT中部署项目的几种方法
  10. Asp.Net iframe Cookie 域 的问题!
  11. 关于js对象引用的小例子
  12. 如何优雅地在云上“摆摊” 直播带货,这些技术很重要
  13. 【PMP学习笔记】:二、项目运行环境
  14. C语言课后习题(8)
  15. ROS入门-12.服务端Server的编程实现
  16. java web 中的乱码
  17. win10配置hadoop开发环境
  18. java 播放h264_一个可以解码并实时播放H264的播放器
  19. 连接方法:网线水晶头接法
  20. 【翻译】ASML Automatic Streaming Machine Learning

热门文章

  1. CA-IS36XX数字隔离器应用领域有哪些?
  2. 什么是5.1声道?什么是7.1声道?8.2声道?基音?
  3. python3.10安装环境搭建,以及出现安装python出现0x80070643问题解决,
  4. 随笔之和老董一起度过的一下午//2021-2-13
  5. MySql子查询有多个结果的查询方法
  6. C# 之 WPF 统计图表开发方案
  7. RSA算法原理(二)
  8. ubuntu下载cuda
  9. 论文笔记——chatgpt评估+
  10. 小甜点,RecyclerView 之 ItemDecoration 讲解及高级特性实践