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 做一個電話。在通話過程中,顯示屏本身的右上方區域(相機左側)將出現一個白點閃爍。(看起來像一個像素點).現在懸停并檢查。
添加回答
舉報
