android-什么是Build.MANUFACTURER在htc设备上返回什么

Jam*_*kis 3 android build

显然我知道它会返回htc,但它是大写还是小写?我最近有一个我的应用程序的用户告诉我其中一个功能崩溃了他的手机所以我想暂时从htc设备中排​​除该功能基于我从Build.MANUFACTURER和Build.VERSION.SDK_INT获得的功能.我只是不知道在htc设备或其他设备上从Build.MANUFACTURER返回什么.有没有人知道哪个列表会有所有类型的信息?

Jac*_*ack 9

请参阅链接以获取制造商列表.

以下是我如何检测设备是否由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;
    }
Run Code Online (Sandbox Code Playgroud)

编辑(差不多两年后) - 修改了代码并添加了TVK的推荐:

     public boolean isAnHTCDevice()
     {
        String manufacturer = android.os.Build.MANUFACTURER;
        return manufacturer.toLowerCase(Locale.ENGLISH).contains("htc");
     }
Run Code Online (Sandbox Code Playgroud)

缩短返回语句,按照Lint的建议将Local.ENGLISH添加到.toL​​owerCase.

  • 请注意,根据Lint警告的建议,toLowerCase(Locale.ENGLISH)将是此的首选版本. (2认同)