2016-03-02 76 views
0

我有一个关于android.os.Build下的Android Model number的问题。我的要求是,我需要一个唯一的号码来识别特定设备的型号。型号会在REST API的帮助下发送到我的服务器。然后服务器将提供特定设备的详细模型信息。所以,我试图从android.os.Build访问型号。开发人员网站称其定义为“最终产品的最终用户可见名称”。Android Build Model Number是否独一无二?

所以我的问题是,这个型号在世界各地都是独一无二的吗?或者它根据不同的国家而改变?或者它根据商店(Play商店,亚马逊商店等)进行更改?

+0

怎么样IMEI号码?比型号好吗? – Sree

+0

是的,我建议一样。但问题是,我需要确定模型。不是那个特定的设备。是否可以使用IMEI来识别模型? – Nithinjith

+1

有一个第三方链接https://imeidata.net/,我不知道任何可用于此的API服务 – Sree

回答

2

是世界各地的设备的型号是相同的。

使用follong代码来获取modelNumber:

public String getDeviceName() { 
    String manufacturer = Build.MANUFACTURER; 
    String model = Build.MODEL; 
    if (model.startsWith(manufacturer)) { 
     return capitalize(model); 
    } else { 
     return capitalize(manufacturer) + " " + model; 
    } 
} 


private String capitalize(String s) { 
    if (s == null || s.length() == 0) { 
     return ""; 
    } 
    char first = s.charAt(0); 
    if (Character.isUpperCase(first)) { 
     return s; 
    } else { 
     return Character.toUpperCase(first) + s.substring(1); 
    } 
} 

这会给你的唯一型号。

For the reference please refer the post

+0

这是说一个设备有多个型号的权利?那么它的独特性如何? – Nithinjith

1

为唯一标识,你可以使用安全类中这是Android的设置包的一部分的设备。它将Android ID作为唯一的64位十六进制字符串返回。这样:

import android.provider.Settings.Secure; 
private String android_id = Secure.getString(getContext().getContentResolver(), 
                 Secure.ANDROID_ID); 

但是,这有时不为空。唯一识别设备的完美完整解决方案尚未出现。获取设备的唯一ID时需要考虑各种因素。也看到这个Answer