Android 接近传感器 [独特问题 - 传感器未检测到手机附近已经存在的物体]
Posted
技术标签:
【中文标题】Android 接近传感器 [独特问题 - 传感器未检测到手机附近已经存在的物体]【英文标题】:Android Proximity Sensor [Unique Issue - Sensor Not Detecting Objects Already Near The Phone] 【发布时间】:2016-04-12 07:25:42 【问题描述】:我正在根据用户的巨大请求更新我的应用程序。发生某些事情后,我的应用程序会打开屏幕,现在我正在集成“袖珍模式”功能。所以基本上,如果用户在他/她的口袋里有手机或设备,我想通过接近传感器检测到这一点并据此采取行动。但是我遇到了很多麻烦..
所以我像往常一样注册传感器和一切。我想指出的一件事是我告诉 PowerManager 对象注册为 Proximity_Screen_Off_Wake_Lock。这意味着每次检测到附近有物体时屏幕都会自动关闭。
powerManager.newWakeLock(PowerManager.PROXIMITY_SCREEN_OFF_WAKE_LOCK, "ProximityScreenOff");
基本上,当设备放在桌子上并且我将手指移到传感器上时,屏幕会按预期关闭。
当我的活动启动并且我已经将手指放在传感器上(或者放在口袋里 - 相同)时,问题就开始了。所以传感器不会检测到任何已经在手机附近的东西。如果我将手指移开一点,屏幕将再次打开。
有什么我可以做的,所以我会得到我想要的行为 - 即当手机已经放在口袋里时关闭屏幕?
【问题讨论】:
【参考方案1】:您可以使用布尔变量来管理它。
也就是说,如果 onSensorChanged 的近事件被调用,那么 n 则只有远事件被调用。
boolean isNearCalled =false;
void onSensorChanged()
if(near sensitivity)
isNearCalled=true;
else if(Distance sensitivity && isNearCalled)
// Do stuff for far like screen off
isNearCalled= false;
【讨论】:
以上是关于Android 接近传感器 [独特问题 - 传感器未检测到手机附近已经存在的物体]的主要内容,如果未能解决你的问题,请参考以下文章