首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在三星galaxy S10或S10+中测试接近传感器?

如何在三星galaxy S10或S10+中测试接近传感器?
EN

Stack Overflow用户
提问于 2019-04-04 16:31:35
回答 4查看 7.1K关注 0票数 5

我想在三星较新的型号(s10或s10+)上测试接近传感器,我已经使用旧的传统方法注册了接近传感器的侦听器,它适用于除这两个设备之外的所有设备。我在互联网上搜索过,得知S10的显示屏下有接近感应器(在通话过程中,闪烁的像素会亮起等)。我也用过很多第三方传感器测试应用,但它们都不适用于S10。有人知道三星改变了什么吗?我们如何以编程方式访问S10接近传感器?我已经尝试了下面的代码,但它总是太棒了。

代码语言:javascript
复制
@Override
   public void onSensorChanged(SensorEvent event) {
       if (event.sensor.getType() == Sensor.TYPE_PROXIMITY) {
           if (event.values[0] >= -SENSOR_SENSITIVITY && event.values[0] <= SENSOR_SENSITIVITY) {
               //near
               Toast.makeText(getApplicationContext(), "near", Toast.LENGTH_SHORT).show();
           } else {
               //far
               Toast.makeText(getApplicationContext(), "far", Toast.LENGTH_SHORT).show();
           }
       }
   }

   @Override
   public void onAccuracyChanged(Sensor sensor, int accuracy) {
       Toast.makeText(getApplicationContext(), "accuracy changed", Toast.LENGTH_SHORT).show();
   }
EN

回答 4

Stack Overflow用户

发布于 2019-04-28 04:57:57

你可以使用密码*#77692# Test proximity sensor on Samsung Galaxy S10

票数 3
EN

Stack Overflow用户

发布于 2019-12-11 21:46:14

尽量不要直接使用传感器API。要测试接近传感器,只需获取使用PROXIMITY_SCREEN_OFF_WAKE_LOCK参数创建的唤醒锁。

它不会帮助获得测量的距离,但当你把你的手掌放在传感器上时,屏幕将开始关闭/打开。

代码语言:javascript
复制
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
    }
}

此代码片段摘自this answer

票数 2
EN

Stack Overflow用户

发布于 2019-07-28 00:26:27

下面是如何打开和测试接近感应器。

拨打*#77692#,您将获得两个要测试的传感器:

1:光传感器2:接近传感器

你不能开着又开着它。我们可以通过打开它来测试它,然后它就会进入关闭模式。从三星来看非常奇怪。

也许下一次更新可以让它继续存在。这样屏幕就不会在口袋里解锁了。希望这能对你有所帮助。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55511290

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档