首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何读取压力传感器?

如何读取压力传感器?
EN

Stack Overflow用户
提问于 2020-04-06 02:38:26
回答 2查看 286关注 0票数 0

在大多数设备上都可以很容易地检测到按下物理主页按钮的情况:

代码语言:javascript
复制
...

public class ExampleAccessibilityService extends AccessibilityService {

    ...

    @Override
    protected boolean onKeyEvent(KeyEvent event) {    
        if (event.getKeyCode() == KEYCODE_HOME && event.getAction() == ACTION_DOWN)
            Log.d("Example", "The home key is pressed.");
        return super.onKeyEvent(event);
    }
}

但上面的代码在一些具有压敏虚拟主页按钮的设备上不起作用。我想这些三星的Galaxy设备会受到影响:S8S8+,S9,S9+,Note10, Note10+ and Fold。官方认为它是一个压力传感器,而不是一个按钮。

如何读取此传感器?

TYPE_PRESSURE sensor event与气压计it shows the ambient air pressure in hPa or mbar有关。

getPressure() method返回"the size of the capacitive object rather than literal pressure"

我不需要关于压力水平的信息,我只想知道是否按下了压力敏感型虚拟主页按钮。

EN

回答 2

Stack Overflow用户

发布于 2020-04-07 13:42:15

从技术上讲,它不被认为是一个传感器,所以据我所知,它不能用于。

代码语言:javascript
复制
for (Sensor s : ((SensorManager) getSystemService(SENSOR_SERVICE)).getSensorList(Sensor.TYPE_ALL))
        Log.d("Sensor", s.getName());

我已经记录了具有压敏虚拟主页按钮的设备的所有可用传感器,但该按钮不在列表中。我想知道,How to access sensors not listed by SensorManager?

票数 0
EN

Stack Overflow用户

发布于 2020-04-07 14:02:00

此虚拟按钮不用于应用程序,只能由该三星ROM访问。人们可以定义触发它所需的压力。无论如何,阅读它的意义是什么?你的设备没有任何压力传感器,也就是气压计。你的意思是触摸屏,它是压力敏感的-所以唯一的机会阅读它可能是触摸屏驱动程序。

这些是他们的vendor binaries的源代码,用于AOSP。除非构建自定义ROM,否则可能无法将自定义功能绑定到触摸屏或将值公开给SDK。除了模拟硬件按钮事件之外,这些源还应该显示虚拟按钮的实际功能。

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

https://stackoverflow.com/questions/61047609

复制
相关文章

相似问题

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