2014-02-15 42 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