完美实现 感应距离让手机自动息屏 防止用户误触界面
private void initSensor() {
mManager = (SensorManager) getSystemService(Context.SENSOR_SERVICE);
// 获取系统服务POWER_SERVICE,返回一个PowerManager对象
localPowerManager = (PowerManager) getSystemService(Context.POWER_SERVICE);
// 获取PowerManager.WakeLock对象,后面的参数|表示同时传入两个值,最后的是LogCat里用的Tag
localWakeLock = this.localPowerManager.newWakeLock(32, "MyPower"); // 第一个参数为电源锁级别,第二个是日志tag
localWakeLock.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后仍然会有自动锁屏的效果,不信

本文详细介绍了如何利用Android设备的距离感应器实现手机在靠近脸部时自动息屏的功能,有效防止用户在通话过程中的误触操作。
最低0.47元/天 解锁文章
4231

被折叠的 条评论
为什么被折叠?



