4 回答
TA贡献1797条经验 获得超6个赞
尽量不要直接使用传感器 API。要测试接近传感器,只需获取使用PROXIMITY_SCREEN_OFF_WAKE_LOCK参数创建的唤醒锁即可。
获取测量的距离无济于事,但是当您将手掌放在传感器上时,屏幕将开始关闭/打开。
class ProximityMgr(context: Context) {
private val powerManager: PowerManager = context.getSystemService()!!
private val wakeLock: PowerManager.WakeLock
init {
wakeLock = powerManager.newWakeLock(
PowerManager.PROXIMITY_SCREEN_OFF_WAKE_LOCK,
"lock:proximity_screen_off")
}
fun acquire() {
if (powerManager.isWakeLockLevelSupported(PowerManager.PROXIMITY_SCREEN_OFF_WAKE_LOCK)) {
if (wakeLock.isHeld) {
wakeLock.release()
}
wakeLock.acquire(WAKE_LOCK_TIMEOUT_MS)
} else {
Log.w(TAG, "not supported")
}
}
fun release() {
if (wakeLock.isHeld)
wakeLock.release()
}
companion object {
private const val TAG = "ProximitySensor"
private const val WAKE_LOCK_TIMEOUT_MS: Long = 2 * 3600 * 1000
}
}
这个片段取自这个答案。
TA贡献1835条经验 获得超7个赞
下面介绍如何打开和测试接近传感器。
拨打 *#77692# 您将获得两个传感器进行测试:
1:光传感器 2:接近传感器
您无法将其打开并保持打开状态。我们可以通过打开它来测试它,然后它进入关闭模式。三星非常奇怪。
也许下一次更新将提供保持它的可能性。因此,屏幕不会在口袋中解锁。希望这可以帮助你。
TA贡献1871条经验 获得超8个赞
简单来说(非程序化)方法1星形哈希零星形哈希(#0#)在拨号器上 选择接近传感器时将出现一个选项块(红色,绿色,蓝色,振动,相机)现在它将显示勒克斯(发光强度)量更多光更勒克斯.方法2 做一个电话。在通话过程中,显示屏本身的右上方区域(相机左侧)将出现一个白点闪烁。(看起来像一个像素点).现在悬停并检查。
添加回答
举报