显然我知道它会返回htc,但它是大写还是小写?我最近有一个我的应用程序的用户告诉我其中一个功能崩溃了他的手机所以我想暂时从htc设备中排除该功能基于我从Build.MANUFACTURER和Build.VERSION.SDK_INT获得的功能。我只是不知道在htc设备或其他设备上从Build.MANUFACTURER返回什么。有没有人知道哪个列表会包含所有类型的信息?
答案 0 :(得分:9)
请参阅this链接以获取制造商列表。
以下是我如何检测设备是否由HTC制造。请注意,我不关心它是否与HTC或htc完全匹配,I toLower()它并检查Build.MANUFACTURER是否包含htc。
public boolean isAnHTCDevice()
{
String manufacturer = android.os.Build.MANUFACTURER;
if (manufacturer.toLowerCase().contains("htc"))
return true;
else
return false;
}
编辑(差不多两年后) - 修改了代码并添加了TVK的推荐:
public boolean isAnHTCDevice()
{
String manufacturer = android.os.Build.MANUFACTURER;
return manufacturer.toLowerCase(Locale.ENGLISH).contains("htc");
}
缩短return语句,按照Lint的建议将Local.ENGLISH添加到.toLowerCase。