Как определить модель устройства?

Я пытаюсь определить модель устройства и пытаюсь выполнить некоторые операции на основе этого.

Я делаю код для определения модели устройства и производителя, но по какой-то причине он дает мне отрицательный результат.

Вот код для определения модели устройства и производителя:

private Boolean isHTCone(){

                //For model and manufacturer both
            String HTC_MODEL_MANUFACTURER = android.os.Build.MODEL+""+android.os.Build.MANUFACTURER;
                //If true then do something
            Boolean isHTC = true;
                //My model name
            String HTCModel = "HTC6500LVW";
                //For device model
            String MyBuildModel = android.os.Build.MODEL;
                //For manufacturer
                String MyBuildManufacturer = android.os.Build.MANUFACTURER;
            //Check for the condition
            if(MyBuildModel==HTCModel){

                Log.i("Device Model is: ", android.os.Build.MODEL);
                return true;

            }
            else{
                Log.i("Device is not HTC One");
                    return false;
            }


        }

Это всегда дает мне неправильное значение. Даже когда моя модель устройства "HTC6500LVW", она не принимает цикл if и переходит к другому.

Может кто-нибудь сказать мне, если я делаю что-то здесь не так. Я действительно ценю это.

Заранее спасибо..:)

2 ответа

Решение

Вам придется использовать String.equals() сравнить ваши строки, вот так:

if (MyBuildModel.equals(HTCModel)){

В противном случае, используя == вы сравниваете адреса памяти строк, которые, конечно, не совпадают.

Как примечание, имена переменных должны начинаться со строчной буквы.

Делай так

if(MyBuildModel.equals(HTCModel)) {
   // your code
}

Оператор == сравнивает ссылку на две строки, которые в вашем случае отличаются.

В Java для сравнения строк вы должны использовать equals() метод для этого.

Другие вопросы по тегам