2014-02-15 45 views
0

我正在嘗試檢測設備模型並嘗試基於此進行一些操作。如何檢測設備型號?

我做代碼來檢測設備型號和製造商,但由於某種原因,它給了我一個負面的結果。

這裏的檢測設備型號和製造商代碼:

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循環,而是轉到其他設備。

任何人都可以告訴我,如果我在這裏做錯了什麼。我會非常感激。

在此先感謝.. :)

回答

3

你將不得不使用String.equals()來比較字符串,像這樣:

if (MyBuildModel.equals(HTCModel)){ 

否則,使用==你是比較字符串的內存不會忽略,這當然不一樣。

作爲一個方面說明,變量名稱應該以小寫字母開頭。

+0

謝謝您的信息.. :) – mike20132013

+0

樂意幫忙;)請點擊左邊的複選標記以接受答案。 –

+0

希望我能接受這兩個答案..他們都是對的..這就是爲什麼我投票贊成兩個。 – mike20132013

4

做這樣

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

==操作符比較兩個字符串,你的情況是不同的參考。

在Java中,爲了比較字符串,您必須使用equals()方法。

+0

謝謝.. :) ..它的工作 – mike20132013

+0

很高興幫助你,你現在可以接受它 –

+0

希望我能接受你的答案..他們都是對的..這就是爲什麼我投票贊成兩個。 – mike20132013