代码之家  ›  专栏  ›  技术社区  ›  Jesús A. Álvarez

Android硬件属性

  •  5
  • Jesús A. Álvarez  · 技术社区  · 15 年前

    如何在运行时找到硬件属性? 我想知道设备是否有物理键盘、D-Pad、轨迹球等。

    2 回复  |  直到 14 年前
        1
  •  2
  •   David Webb    15 年前

    处理不同硬件配置的首选方法似乎是 define different Resources and let Android pick the relevant one for the hardware . 文件上说:

    您可以根据设备上的用户界面语言或硬件配置为应用程序提供不同的资源。请注意,尽管您可以包含不同的字符串、布局和其他资源,但sdk不会公开方法来指定要加载的备用资源集。Android检测硬件和位置的正确设置,并根据需要加载它们。

    但是,没有什么能阻止您在应用程序中拥有多个属性文件版本,并使用这些版本来确定硬配置。例如,文件的一个版本将包含 dpad = true 另一个会 dpad = false Android会选择与硬件匹配的文件版本,然后您可以读取 dpad 财产。诚然,这会相当乏味,但在API中我找不到更简单的方法来完成这项工作。

        2
  •  2
  •   Macarse    14 年前

    你可以使用 getResources().getConfiguration() .

    例如:

    getResources().getConfiguration().navigation

    导航方法的种类 在设备上可用。什么之中的一个: 导航卫星,导航跟踪球, 导航轮。