Android硬件属性

时间:2009-11-04 09:18:06

标签: android hardware

如何在运行时找到硬件属性? 我希望能够知道设备是否有物理键盘,d-pad,轨迹球等。

2 个答案:

答案 0 :(得分:2)

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

  

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

但是,没有什么可以阻止您在应用程序中使用多个版本的属性文件,并使用这些版本来确定硬件配置。例如,该文件的一个版本将包含dpad = true,另一个版本将包含dpad = false,Android将选择与硬件匹配的文件版本,然后您可以阅读dpad属性。不可否认,这将是相当繁琐的,但我无法在API中找到更简单的方法来执行此操作。

答案 1 :(得分:2)

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

例如:

getResources().getConfiguration().navigation

  

那种导航方法   可在设备上使用。之一:   NAVIGATION_DPAD,NAVIGATION_TRACKBALL,   NAVIGATION_WHEEL。