Android:以编程方式检测设备是否连接了硬件触摸屏

2024-02-17

我需要编写一个脚本来检测物理触摸屏在启动时是否连接到我的 Android 设备。 我试图列出文件夹的内容/dev/input通过 adb,我获得以下输出:

root@q88:/dev/input # ls
event0
event1
event2
event3
event4
mice

如果我没有记错的话,event0识别触摸屏,但无论触摸屏是否连接,它都是可见的。
有没有办法检测触摸屏是否连接到设备?

提前致谢。


你可以阅读/proc/bus/input/devices to 获取现有输入设备的详细信息 https://unix.stackexchange.com/questions/74903/explain-ev-in-proc-bus-input-devices-data.

根据您的硬件名称,您可以执行类似的操作并检查是否有任何输出:

cat /proc/bus/input/devices | grep "Name=" | grep "Touch"

这是完整的输出/proc/bus/input/devices:

I: Bus=0011 Vendor=0002 Product=0008 Version=2222
N: Name="AlpsPS/2 ALPS DualPoint TouchPad"
P: Phys=isa0060/serio1/input0
S: Sysfs=/class/input/input2
H: Handlers=mouse1 event2 ts1
B: EV=f
B: KEY=420 0 70000 0 0 0 0 0 0 0 0
B: REL=3
B: ABS=1000003

[...] (blank line, next device)

前面的B代表位图,N、P、S、U、H只是第一个 相应名称值中的字母,I 代表 ID。已订购 时尚:

  • I → @id: id of the device (struct input_id)
    • Bus→ id.总线类型
    • Vendor→ 供应商 ID
    • Product→ 产品 ID
    • Version→ id.版本
  • N→ 设备名称
  • P→ 系统层次结构中设备的物理路径
  • S→ sysfs 路径
  • U→ 设备的唯一识别码(如果设备有)
  • H→ 与设备关联的输入句柄列表
  • B → bitmaps
    • PROP→ 设备属性和怪癖
    • EV→ 设备支持的事件类型
    • KEY→ 该设备具有的按键/按钮
    • MSC→ 设备支持的其他事件
    • LED→ 设备上有 LED
    • REL→ 相对地址
    • ABS→ 绝对地址

要测试设备是否实际连接,您可以尝试模拟事件并查看是否出现任何错误:

input tap [x] [y]

Android自带了一个输入命令行工具,可以模拟各种输入事件。

  • input → The command line tool to send events
    • 点击 → 动作
    • [x] → 屏幕上的X坐标
    • [y] → 屏幕上的Y坐标
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Android:以编程方式检测设备是否连接了硬件触摸屏 的相关文章

  • Delphi XE5 REST/Android 客户端“会话已过期”

    我有一个REST Server与Android Client 都在Deplhi Xe5 Android客户端成功连接Rest服务器 在我的服务器中我有一个TDSHttpWebDispatcher with SessionTimeout 12
  • Android ListView数组索引过滤后越界

    我认为这是专家的问题 我接到电话getView with positon 出界来自ListView数据列表 当我使用适配器过滤器时会发生这种情况 过滤器publishResults 方法使用小于原始列表的过滤列表填充数据 当新的过滤列表时似
  • Android CirclePageIndicator 不工作

    我无法使用 CirclePageIndicator 加载页面 这是 XML
  • Android x86_64 和 x86 模拟器在 AlertDialog.onClick 事件上崩溃

    我正在 x86 64 和 x86 模拟器中测试 Android 应用程序 在从显示列表的 AlertDialog 中选择一个项目后 它崩溃了 Android 模拟器意外关闭 AlertDialog 是从 AppCompatActivity
  • 从字符串将 AM/PM 设置为时间选择器对话框?

    我有一个 TextView 其中时间以格式显示10 00 PM当用户单击该视图时 必须将相同的时间设置为TimePicker对话 我能够设置Hour and Minutes到选取器 但在AM PM部分 我总是得到AM用户是否已设置AM or
  • MaterialComponents AlertDialog 文本颜色

    Reading MaterialComponents 主题警报对话框按钮 https stackoverflow com questions 52829954 materialcomponents theme alert dialog bu
  • 需要在 Android Studio 中使用 Team Foundation 客户端可能的替代方案/解决方法吗?

    我有一个场景 我需要使用 android studio 作为 IDE 使用 Team Foundation Server 作为源代码控制存储库 问题是android studio中没有TFS的插件 并且没有 TFS Windows 的独立客
  • RecyclerView.OnScrollListener:一次滚动实例被多次调用

    我有一个水平布局的回收视图 一次只有一个视图可见 mRecyclerView findViewById R id rvmain mRecyclerView setOnFlingListener null final SnapHelper s
  • Android、AdMob:AdMob 广告刷新会破坏帧速率

    我正在开发一款游戏 并且进展顺利 不过 我确实对 AdMob 广告刷新有一些疑问 每次刷新广告或绘制广告的不同方面时 我的帧速率都会急剧下降 几乎使游戏无法玩 这是我用于加载广告的内容 ad new AdView this AdSize B
  • 无法在 Android 模拟器上使用 ART

    我只是想在我的模拟器上尝试 android 4 4 的 ART 我所做的是创建一个模拟器 选择设备为 Nexus 7 目标为 Android 4 4 RAM 512 然后我启动模拟器并加载它 然后我进入开发者选项并选择运行时作为 ART 设
  • Google Games API 需要 games_lite 函数

    我使用 Google Play 游戏服务 我从官方示例中获取了代码 尝试使用 API 27 和 API 17 所有功能仅在一个帐户 所有者 Google 开发者控制台 下有效 在任何其他帐户下均有效 不行 我明白了 E AndroidRun
  • 自定义 ListView 具有不同的行布局,根据 Web 服务响应进行扩展

    我有列表视图 我有3组观点 图像视图 视频查看 文本视图 我有一个返回图像 视频和文本的网络服务器 因此 根据服务器的响应 我想膨胀列表视图中行的视图 我知道使用自定义适配器来扩展自定义布局 我想知道如何使用自定义适配器来扩充视图类型 例如
  • Galaxy Nexus 4.1.1 和 ISO14443 读卡器

    是否可以在 Galaxy Nexus Jelly Bean 4 1 1 移动设备和任何常规桌面非接触式读卡器 ISO 14443 A B 之间建立连接 据我所知 android不支持卡模拟模式 所以只能通过p2p模式来完成 p2p 是否基于
  • Android 应用程序 Phonegap 中的 Admob 实现

    我将一个 jquery 脚本转换为 Android 应用程序 现在我想将 admob 添加到其中 这可能吗 谷歌从那时起禁止在移动应用程序中使用 AdSense 在移动应用程序中使用 AdSense 移动广告违反了 AdSense 政策 移
  • Android 和 iPhone 应用程序可以使用同一个 Facebook 应用程序 ID 吗?

    我有两个具有相同名称和相同功能的应用程序 一款在安卓市场 一款在应用商店 目前仅通过 iPhone 应用程序 您可以使用我创建的 Facebook 应用程序将您的分数发布到 Facebook 墙上 我的问题是我可以使用相同的 Android
  • Listview里面只有一个Element

    您好 我正在尝试将列表视图放入列表视图中的列表视图中 唯一的问题是只有第一个列表视图正确显示所有元素 此后的每个列表视图仅包含一个元素 UPDATE 创建我自己的不可滚动列表视图解决了这个问题 https stackoverflow com
  • 将视图放置在 ConstraintLayout 之外

    我想将视图放置在ConstraintLayout用滑动动画来制作它们的动画 我尝试过设置像这样的约束constraintBottom toTopOf parent 但是View留在容器内 请注意 我希望通过使用内置动画的约束来实现此目的 而
  • Android 方向传感器的替代品是什么?

    大家好 我正在为 Android 构建 3D 游戏 我目前正在尝试在我的游戏中添加一个传感器 允许玩家倾斜机器人作为其控制 理想情况下 我想使用方向传感器 但我注意到它已被弃用 有谁知道如何检测 Android 中的倾斜并且不使用这个传感器
  • 我可以在 Android Market 上出售我的 SL4A 应用程序吗?

    Closed 这个问题是无关 help closed questions 目前不接受答案 我想使用 SL4A 在 Android 上使用 Python 开发一个应用程序 并且我想知道是否可以将其作为应用程序在 Android Market
  • RecyclerView 不调用 onCreateViewHolder 或 onBindView

    没有收到任何错误 所有数据似乎都有效 由于某种原因 没有调用与视图相关的方法 我已确定以下事项 getItemCount 是唯一被调用的适配器方法 并且返回一个正整数值 我知道这将是你们将要查看的区域 构造函数正在被调用 成员变量有效 Pa

随机推荐